Vladimir
Posts: 1
Nickname: babytoys
Registered: Apr, 2004
|
|
multiref serialization/deserialization in .NET
|
Posted: Apr 6, 2004 9:08 AM
|
|
|
Advertisement
|
Hello! My web-service is used by several providers, but when I recieve following soap packet:
<?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> <ns1:getCustomer soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="url:myurl.com:MyWebService"> <ns1:licence href="#id0"/> <ns1:itemId href="#id1"/> <ns1:minDays href="#id2"/> <ns1:maxDays href="#id3"/> </ns1:getFirstUninformedCustomerSimple> <multiRef id="id3" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="xsd:long" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">100</multiRef&g t; <multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="xsd:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">jjjjj</multiRef > <multiRef id="id2" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="xsd:long" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">0</multiRef> <multiRef id="id1" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="xsd:long" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">100</multiRef&g t; </soapenv:Body></soapenv:Envelope>
Data from this packet are not correctly transfered to the Webmethod. The method gets null for licence and 0 for minDays, maxDays adn ItemId.
If the soap packet looks like this:
<?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> <ns1:getFirstUninformedCustomerSimple soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="url:myurl.com:MyWebService"> <licence xsi:type="xsd:string"></licence> <itemId xsi:type="xsd:long">-2278908227931762448</itemId> <minDays xsi:type="xsd:long">0</minDaysLag> <maxDays xsi:type="xsd:long">30</maxDaysLag> </ns1:getCustomer> </soapenv:Body></soapenv:Envelope>
everything works fine: licence="jjjj", minDays=0, maxDays=30 ItemId =2278908227931762448
[WebMethod] [System.Web.Services.Protocols.SoapRpcMethod( Action="", RequestNamespace="url:myurl.com:MyWebService", ResponseNamespace="url :myurl.com:MyWebService")] public void getCustomer( String licence, Int64 itemId, Int64 minDaysLag, Int64 maxDaysLag, out Boolean isFound out String customerEmail, ) {...}
It seems that .NET has prolblems with multi-ref serialization/deserialization.
Could you help me?
Thank you.
Vladimir
|
|