2

春のWSでjaxb2に問題があります。Spring ws は、SOAP でエンコードされた型 (Array) を含む wsdl ファイル (xsd なし) を解析する必要があります。JAXB2 で wsdl ファイルをマーシャリングできるようにするために使用できる Maven プラグイン wsdl ファイルは次のとおりです。

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://xml.cibg.org/irisbox/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:impl="http://xml.cibg.org/irisbox/" xmlns:intf="http://xml.cibg.org/irisbox/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<!--WSDL created by Apache Axis version: 1.4
Built on Apr 22, 2006 (06:55:48 PDT)-->
 <wsdl:types>
  <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://xml.cibg.org/irisbox/">
   <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" schemaLocation="soap-encoding.xsd"/>
   <xsd:complexType name="ArrayOf_xsd_anyType">
    <xsd:complexContent>
     <xsd:restriction base="soapenc:Array">
      <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:anyType[]"/>
     </xsd:restriction>
    </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="ExternalIdsResponse">
    <xsd:sequence>
     <xsd:element name="externalIdsResponse" nillable="true" type="impl:ArrayOf_xsd_anyType"/>
    </xsd:sequence>
   </xsd:complexType>
  </xsd:schema>
 </wsdl:types>

     <message name="getExternalIdsRequest">

          <part name="organizationCode" type="xsd:string"/>

          <part name="externalModuleName" type="xsd:string"/>

          <part name="fromDate" type="xsd:dateTime"/>

          <part name="toDate" type="xsd:dateTime"/>

     </message>

     <message name="getExternalIdsResponse">

          <part name="getExternalIdsReturn" type="impl:ExternalIdsResponse"/>

     </message>

     <portType name="ExternalIdsService">

          <operation name="getExternalIds" parameterOrder="organizationCode externalModuleName fromDate toDate">

               <input name="getExternalIdsRequest" message="impl:getExternalIdsRequest"/>

               <output name="getExternalIdsResponse" message="impl:getExternalIdsResponse"/>

          </operation>

     </portType>

     <binding name="ExternalIdsSoapBinding" type="impl:ExternalIdsService">

          <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>

          <operation name="getExternalIds">

               <wsdlsoap:operation soapAction=""/>

               <input name="getExternalIdsRequest">

                    <wsdlsoap:body use="encoded" namespace="http://xml.cibg.org/irisbox/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>

               </input>

               <output name="getExternalIdsResponse">

                    <wsdlsoap:body use="encoded" namespace="http://xml.cibg.org/irisbox/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>

               </output>

          </operation>

     </binding>

     <service name="ExternalIdsServiceService">

          <port name="ExternalIds" binding="impl:ExternalIdsSoapBinding">

               <wsdlsoap:address location="http://172.31.50.155:8988/irisbox/anonymous/services/ExternalIds"/>

          </port>

     </service>

</wsdl:definitions>
4

0 に答える 0