我有一個C#客戶端,它生成下面的.NET SOAP信封,該信封針對C#ASMX SOAP Web服務工作。然而,我們有一個Java客戶端調用我們的服務,它正在生成下面指定的Java信封。信封之間的主要區別在於,某些值在Java客戶端信封中被序列化爲屬性,而不是C#客戶端信封中的XML元素節點。 Java客戶端正在使用AXIS WSDL2Java來生成他們的客戶端。有誰知道我需要告訴Java開發人員,以便他們可以爲所示示例生成正確的soap信封。來自Java客戶端調用.NET SOAP Web服務的SOAP信封差異
親切的問候
工作SOAP信封從C#客戶
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<getDocumentPageRequest xmlns="urn:mycorp-com:MyApp.Schema.DocumentEnquiry.Messages.v01">
<header xmlns="urn:mycorp-com:MyApp.Schema.Common.Types.v01">
<extensions />
<corelationIdentifier>41edebfb-fffd-44f8-94e9-be043e1dad48</corelationIdentifier>
</header>
<securityToken xmlns="urn:mycorp-com:MyApp.Schema.Common.Types.v01">
<Value>218FD85D</Value>
</securityToken>
<documentIdentifier>15236HDFG000005</documentIdentifier>
<pageNumber>1</pageNumber>
</getDocumentPageRequest>
</soap:Body>
</soap:Envelope>
Java的SOAP信封拍攝的圖像 - 通過Web服務
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<getDocumentPageRequest
documentIdentifier="15236HDFG000005"
pageNumber="1"
xmlns="urn:mycorp-com:MyApp.Schema.DocumentEnquiry.Messages.v01">
<ns1:header corelationIdentifier="" xmlns:ns1="urn:mycorp-com:MyApp.Schema.Common.Types.v01">
<ns1:extensions/>
</ns1:header>
<ns2:securityToken xmlns:ns2="urn:mycorp-com:MyApp.Schema.Common.Types.v01">218FD85D</ns2:securityToken>
</getDocumentPageRequest>
</soapenv:Body>
</soapenv:Envelope>
編輯::加在不工作根據要求提供WSDL。
樣品WSDL和XSD提取
下面是產生的WSDL的樣本,並且它導入了該消息類型的XSD的提取物。我可以看到,XML具有屬性,這就是AXIS WSDL2Java生成的內容,但C#代理和Web服務需要XML節點。我認爲這意味着C#服務實現的方式與其定義的模式不同或不同。這是混亂...
<!-- WSDL Extract -->
<message name="getDocumentPageIn">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" />
<part name="messagePart" element="import0:getDocumentPageRequest" />
</message>
<message name="getDocumentPageOut">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" />
<part name="messagePart" element="import0:getDocumentPageResponse" />
</message>
<!-- import0 XSD extract -->
<xs:element name="getDocumentPageRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="MyApp:request">
<xs:attribute name="documentIdentifier" type="xs:string" use="required"/>
<xs:attribute name="pageNumber" type="xs:short" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
爲服務生成的WSDL是如何查看的? – noMad17
Thanks @ noMad17,更新了帶有WSDL樣本請求的問題。 – Bigtoe