Visual Studio 2010에서 서비스 추가 참조를 사용하여 만든 웹 서비스 클라이언트가 웹 서비스를 호출하고 결과가 반환되면 어떻게되는지에 대한 정보를 찾고 있습니다.비누 봉투는 어떻게 생성되며 .NET 및 PHP 클라이언트는 다른 비누 봉투를 생산/수신합니까?
비누 요청 봉투가 어떻게 만들어지고 형식을 결정합니까? 비누 응답 봉투가 어떻게 만들어지고 형식을 결정합니까?
이 프로세스는 항상 .net에 의해 추상화되었으며 어떻게 완료되었는지 살펴 보지 못했지만 PHP를 사용하는 사용자가 있으며 응답 봉투에 문제가있는 것 같습니다. 아래에서는 요청 및 .net 및 PHP 코드의 응답에 대한 비누 봉투 샘플을 제공합니다.
PHP 요청 :
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://some.junk.url.xxxx.com">
<SOAP-ENV:Body>
<ns1:wsActionRouter>
<ns1:i_UserId>XXXX</ns1:i_UserId>
<ns1:i_Password>******</ns1:i_Password>
<ns1:ActionType>CS</ns1:ActionType>
<ns1:XmlData>
blah blah blah
</ns1:XmlData>
</ns1:wsActionRouter>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
.NET 요청 :
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<Action s:mustUnderstand="1"
xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none" />
</s:Header>
<s:Body>
<wsActionRouter xmlns="http://some.junk.url.xxxx.com">
<i_UserId>XXXX</i_UserId>
<i_Password>******</i_Password>
<ActionType>CS</ActionType>
<XmlData>
blah blah blah
</XmlData>
</wsActionRouter>
</s:Body>
</s:Envelope>
PHP 응답 :
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header/>
<soapenv:Body>
<p287:wsActionRouterResponse xmlns:p287="http://some.junk.url.xxxx.com">
<p287:wsActionRouterReturn>
blah blah blah
</p287:wsActionRouterReturn>
</p287:wsActionRouterResponse>
</soapenv:Body>
</soapenv:Envelope>
.NET 응답 :
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header />
<soapenv:Body>
<wsActionRouterResponse xmlns="http://some.junk.url.xxxx.com">
<wsActionRouterReturn>
blah blah blah
</wsActionRouterReturn>
</wsActionRouterResponse>
</soapenv:Body>
</soapenv:Envelope>
봉투가 다른 이유는 무엇입니까?
PHP 사용자는 특히 p287 네임 스페이스에 대해 불만을 나타내고 결과를 사용할 수 없다고 말합니다. 응답 봉투를 구문 분석하고 네임 스페이스를 고려하지 않는다는 가정을하고 있습니다.
오신 것을 환영합니다 (죄송합니다,이 말은 기분을 상하게하는 경우)하지만 난 아주 잠시 동안이 사업에 봤는데 내가 지금 이런 것들과 함께 공급하고, I 그것의 뒤에 무지인지 나쁜 것인지 알지 못한다. HTML이 표준이어야하고 그렇지 않아야합니다. SOAP이 표준이어야하고 그렇지 않아야합니다. SQL이 표준이어야하고 왜 표준을 지정하는 것을 괴롭히지 않는지 모르겠습니다. 지금까지 가장 표준화 된 것으로 판명 된 것은 JSON뿐입니다. –