私は Code First メソッドを使用して SOAP 操作を作成しています。WSDL と XSD を作成するために、Glassfish の METRO を使用しています。私のメソッド(サーバー側)の1つが を返しますjava.util.HashMap<String, String>
。クライアント Web サービスを生成した後、AXIS が : というクラスを作成したことに気付きました
public class HashMap extends mypack.ws.AbstractMap implements java.io.Serializable
。
問題は、このクラスを操作してそのオブジェクト値を取得する方法です。
PS: キーワードを見つけましたtransient
が、 (を生成する) を使用するのは良い考えではないと思いますnullpointerexception
。
ありがとう
編集: ここで、WSDL ファイルを共有します。
<?xml version='1.0' encoding='UTF-8'?><!-- Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.2-hudson-740-. --><!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.2-hudson-740-. -->
<definitions xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:wsp1_2="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://ws.rnm.company.com/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://ws.rnm.company.com/" name="WebService">
<types>
<xsd:schema>
<xsd:import namespace="http://ws.rnm.company.com/" schemaLocation="http://localhost:8080/RNM/WebService?xsd=1" />
</xsd:schema>
</types>
<message name="getSettingsAndData">
<part name="parameters" element="tns:getSettingsAndData" />
</message>
<message name="getSettingsAndDataResponse">
<part name="parameters" element="tns:getSettingsAndDataResponse" />
</message>
<portType name="WebService">
<operation name="getSettingsAndData">
<input wsam:Action="http://ws.rnm.company.com/WebService/getSettingsAndDataRequest" message="tns:getSettingsAndData" />
<output wsam:Action="http://ws.rnm.company.com/WebService/getSettingsAndDataResponse" message="tns:getSettingsAndDataResponse" />
</operation>
</portType>
<binding name="WebServicePortBinding" type="tns:WebService">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
<operation name="getSettingsAndData">
<soap:operation soapAction="" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
</binding>
<service name="WebService">
<port name="WebServicePort" binding="tns:WebServicePortBinding">
<soap:address location="http://localhost:8080/RNM/WebService" />
</port>
</service>
</definitions>