Я новичок в .NET-сервисах .NET и полностью смущен этой проблемой. TCP просмотра показывает, что мой тест приложение говорить с моей веб-сервис формирует XML следующим образом:Почему мой XML-сервисы .NET отличаются друг от друга?
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<GetSupply xmlns="http://webservices.florecom.org/commercial/customer/">
<Request>
<SupplyRequest>
<Header xmlns="urn:fec:florecom:xml:data:draft:SupplyStandardMessage:5">
<UserName>xxx</UserName>
<Password>xxx</Password>
<MessageDateTime>2012-01-17T14:59:44.0438037+02:00</MessageDateTime>
<MessageSerial>0</MessageSerial>
</Header>
<Body xmlns="urn:fec:florecom:xml:data:draft:SupplyStandardMessage:5">
<SupplyRequestDetails>
<SupplyRequestLine xmlns="urn:fec:florecom:xml:data:draft:ReusableAggregateBusinessInformationEntity:3"/>
</SupplyRequestDetails>
</Body>
</SupplyRequest>
</Request>
</GetSupply>
</s:Body>
</s:Envelope>
Но мой веб-сервис получает XML от другой компании, которая выглядит следующим образом:
<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>
<fsm:SupplyRequest xmlns:qdt="urn:un:unece:uncefact:data:draft:QualifiedDataType:5" xmlns:udt="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:4" xmlns:ram="urn:un:unece:uncefact:data:draft:ReusableAggregateBusinessInformationEntity:3" xmlns:fsm="urn:fec:florecom:xml:data:draft:SupplyStandardMessage:5">
<fsm:Header>
<fsm:UserName>xxx</fsm:UserName>
<fsm:Password>xxx</fsm:Password>
<fsm:MessageID>634617184436505019</fsm:MessageID>
<fsm:MessageDateTime>2012-01-09T15:07:23.6505019+01:00</fsm:MessageDateTime>
<fsm:MessageSerial>0</fsm:MessageSerial>
</fsm:Header>
<fsm:Body>
<fsm:SupplyRequestDetails>
<SupplyRequestLine xmlns="urn:fec:florecom:xml:data:draft:ReusableAggregateBusinessInformationEntity:3"/>
</fsm:SupplyRequestDetails>
</fsm:Body>
</fsm:SupplyRequest>
</soap:Body>
</soap:Envelope>
Может кто-то помочь объяснить, почему? Являются ли эти разные версии SOAP? Благодаря
UPDATE
По сути интереса, проблема, которая происходит в этом случае (с сообщением 2 XML) является то, что, когда метод обслуживания получает удар (используется контрольная точка, чтобы проверить это и фальсифицированную сообщение с Fiddler) .NET не удалось связать параметр метода (так называемый «запрос»), поэтому его значение остается NULL
Они выглядят одинаково для меня, и если бы они не были бы вы получите ошибки – Jontatas
@Jontatas: К сожалению, я получаю ошибки (см. «Обновление выше»), и сообщения (в моих глазах n00b) совершенно разные? – Jimbo
Я бы сказал, что вы наткнулись на то же самое, что я заметил при использовании данных веб-сервиса на нашей платформе интеграции. Самое смешное, если я вернусь к одному объекту, который он работает, но для данных массива это не выход. См. Http://stackoverflow.com/questions/8485744 – Jontatas