質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
JAXB

JAXB(Java Architecture for XML Binding)は、XMLをドメインオブジェクトとして動作させるためのJavaの標準仕様です。Java のオブジェクトを XML にシリアライズし、XML から Java オブジェクトにデシリアライズすることも可能です。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

SOAP

SOAP(Simple Object Access Protocol)はウェブサービス実装においての構造化された情報をやり取りするためのプロトコル規定です。

Q&A

0回答

2831閲覧

SOAPメッセージのアンマーシャル

yukko_

総合スコア6

JAXB

JAXB(Java Architecture for XML Binding)は、XMLをドメインオブジェクトとして動作させるためのJavaの標準仕様です。Java のオブジェクトを XML にシリアライズし、XML から Java オブジェクトにデシリアライズすることも可能です。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

SOAP

SOAP(Simple Object Access Protocol)はウェブサービス実装においての構造化された情報をやり取りするためのプロトコル規定です。

0グッド

0クリップ

投稿2017/04/20 00:33

JAVAでSOAPメッセージをJAXBを使用してBeanにマッピングしたいのですがうまくいきません。
何かおかしなところがあれば教えていただきたいです。どうぞよろしくお願いします。

###該当のソースコード

XML

1<?xml version="1.0" encoding="UTF-8" standalone="no"?> 2<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 3 xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" 4 xmlns:ns1="urn:Samplewsdl" 5 xmlns:xsd="http://www.w3.org/2001/XMLSchema" 6 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 7 SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> 8 <SOAP-ENV:Header /> 9 <SOAP-ENV:Body> 10 <ns1:sampleResponse> 11 <return xsi:type="ns1:sampleInfo"> 12 <name xsi:type="xsd:string">名前</name> 13 <address xsi:type="xsd:string">住所</address> 14 </return> 15 </ns1:sampleResponse> 16 </SOAP-ENV:Body> 17</SOAP-ENV:Envelope>

java

1@XmlAccessorType(XmlAccessType.FIELD) 2@XmlRootElement(name = "return") 3public class SearchSample { 4 5 private String name; 6 private String address; 7 8 public String getName() { 9 return name; 10 } 11 12 public void setName(String name) { 13 this.name = name; 14 } 15 16 public String getAddress() { 17 return address; 18 } 19 20 public void setAddress(String address) { 21 this.address = address; 22 }

Java

1 public void unMarshal() { 2 String xml="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?><SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:SOAP-ENC=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:ns1=\"urn:Samplewsdl\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" SOAP-ENV:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\"><SOAP-ENV:Header /><SOAP-ENV:Body><ns1:sampleResponse><return xsi:type=\"ns1:sampleInfo\"><name xsi:type=\"xsd:string\">名前</name><address xsi:type=\"xsd:string\">住所</address></return></ns1:sampleResponse></SOAP-ENV:Body></SOAP-ENV:Envelope> 3"; 4 SearchSample searchSample = JAXB.unmarshal(new StringReader(xml), SearchSample.class); 5 }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問