【发布时间】:2023-03-28 22:17:01
【问题描述】:
您好,我想在 wsdl 中为以下 wsdl:message 编写 jaxb 绑定。
<xs:element name="getSampleForBknumRequest">
<xs:annotation>
<xs:documentation>
getSampleForBknumRequest Request - this is the full message document passed into the service
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="Comn:BaseRequestType">
<xs:sequence>
<xs:element name="bk" type="comn:bkType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="getSampleForBknumResponse">
<xs:annotation>
<xs:documentation>
this is the full message document returned from the service
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="Comn:ResponseType">
<xs:sequence>
<xs:element name="org" type="org:LocationDataType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
上面对应的wsdl:message是
<wsdl:message name="getSampleForRequest">
<wsdl:part name="getSampleForBknumRequest" element="ns1:DB_getSampleForBknumRequest"/>
</wsdl:message>
<wsdl:message name="getSampleForResponse">
<wsdl:part name="getSampleForBknumResponse" element="ns1:DB_getSampleForBknumResponse"/>
</wsdl:message>
而对应的wsdl:operation是
<wsdl:operation name="getSamForBknum">
<wsdl:input name="getSampleForRequest" message="tns:getSampleForRequest"/>
<wsdl:output name="getSampleForResponse" message="tns:getSampleForResponse"/>
</wsdl:operation>
继续:
<wsdl:operation name="getSampleForBk">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="getSampleForRequest">
<wsdlsoap:body use="literal"/>
</wsdl:input>
<wsdl:output name="getSampleForResponse">
<wsdlsoap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
我是 webservices 的新手,所以我不知道如何为上面的内容正确绑定 jaxb。通常我们会在 jaxb:binding 的模式位置中提供 xsd,这里我在同一个 wsdl 文件中没有任何 xsd 的东西. 请有人指导我解决问题。
【问题讨论】:
标签: web-services jaxb wsdl jax-ws jax-rs