Hi MR,
Sorry for being absense for long time. I've just managed to perform some
further testing on this, seems the following response message (before
deserlialize....)
============================
<ns1:submitOrderBatchResponse xmlns:ns1="urn:OrderOperations" >
<return>
<submitOrderBatchResponse>
<errorDetail errorTypeID="1">
<errorItem customerBatchID="71">
<errorMessage>[OrderOperations].submitOrderBatch() couldn't submitBatch due
to catchall Exception:
com.newvinelogistics.chuck.batch.client.BatchExcep tion:
[BatchManagerBean].submitOrderBatchAsync() customerBatchId 71 is not
unique,
cannot submit OrderBatch
</errorMessage>
</errorItem>
</errorDetail>
</submitOrderBatchResponse>
</return>
</ns1:submitOrderBatchResponse>
===========================
would be hard for xmlserlizer to deserizlie it into normal custom classes.
If possible, I think we could consider also use soapExtension to format it
first, if we can change it to the below style, it'll be simpler to
deserialize it:
================
<ns1:submitOrderBatchResponse xmlns:ns1="urn:OrderOperations" >
<errorDetail errorTypeID="1">
<errorItem customerBatchID="71">
<errorMessage>[OrderOperations].submitOrderBatch() couldn't submitBatch due
to catchall Exception:
com.newvinelogistics.chuck.batch.client.BatchExcep tion:
[BatchManagerBean].submitOrderBatchAsync() customerBatchId 71 is not
unique,
cannot submit OrderBatch
</errorMessage>
</errorItem>
</errorDetail>
</ns1:submitOrderBatchResponse>
=================
Thanks,
Steven Cheng
Microsoft Online Support
Get Secure!
www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)
--------------------
X-Tomcat-ID: 271849086
References: <uy2Zf03wFHA.2232@TK2MSFTNGP11.phx.gbl>
<XiiqVQ#wFHA.2080@TK2MSFTNGXA01.phx.gbl>
<ep9RMhDxFHA.1412@TK2MSFTNGP09.phx.gbl>
<HVw2BsNxFHA.768@TK2MSFTNGXA01.phx.gbl>
<uLjow4NxFHA.3740@tk2msftngp13.phx.gbl>
<Cdk35gbxFHA.460@TK2MSFTNGXA01.phx.gbl>
<uJagxd2xFHA.2228@TK2MSFTNGP11.phx.gbl>
<T17pkM8xFHA.768@TK2MSFTNGXA01.phx.gbl>
<uOClRNAyFHA.448@TK2MSFTNGP11.phx.gbl>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----=_NextPart_0001_2BAA98F3"
Content-Transfer-Encoding: 7bit
From:
stcheng@online.microsoft.com (Steven Cheng[MSFT])
Organization: Microsoft
Date: Fri, 07 Oct 2005 12:59:29 GMT
Subject: Re: The data at the root level is invalid exception
X-Tomcat-NG: microsoft.public.dotnet.framework.webservices
Message-ID: <TpGD87zyFHA.780@TK2MSFTNGXA01.phx.gbl>
Newsgroups: microsoft.public.dotnet.framework.webservices
Lines: 1497
Path: TK2MSFTNGXA01.phx.gbl
microsoft.public.dotnet.framework.webservices:8149
NNTP-Posting-Host: tomcatimport2.phx.gbl 10.201.218.182
Hi MR,
From the three SOAP message you provided (two request , one respones), the
following one :
use the
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/1999/XMLSchema">
namespace seems a bit strange since not all the elements under <body>
element be marked with "ns1" namespace prefix
=================================
<?xml version="1.0" encoding="utf-8" ?>
- <SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/1999/XMLSchema">
- <SOAP-ENV:Body>
- <ns1:submitOrderBatch xmlns:ns1="urn:OrderOperations"
SOAP-ENV:encodingStyle="http://xml.apache.org/xml-soap/literalxml">
- <orderBatchElement>
- <submitOrderBatch CustomerBatchID="71">
<Customer OrderSource="NVL TEST CUSTOMER (CUSTOMER)" CustomerID="1097" />
- <Orders>
- <Order GiftOrder="N" GiftWrapOrder="N" OrderType="STND"
CustomerOrderID="25001" AddressOverrideFlag="Y">
- <OrderHeader>
<OrderDate>08/01/05</OrderDate>
- <Consumer Type="SoldTo" ConsumerID="58653">
- <Name>
<FirstName>Testfirstname</FirstName>
<MiddleName />
<LastName>Testlastname</LastName>
</Name>
<CompanyName />
- <Address>
<AddressLine1>1 Testaddress Street</AddressLine1>
<AddressLine2 />
<City>Testcity</City>
<State>DE</State>
<Zip>12345</Zip>
<Country>United States</Country>
</Address>
<Phone>1234567890</Phone>
<Email>john@bartucz.com</Email>
<AgeConfirm>Y</AgeConfirm>
<Birthdate />
</Consumer>
- <Consumer Type="ShipTo" ConsumerID="58653">
- <Name>
<FirstName>Testfirstname</FirstName>
<MiddleName />
<LastName>Testlastname</LastName>
</Name>
<CompanyName />
- <Address>
<AddressLine1>1 Testaddress Street</AddressLine1>
<AddressLine2 />
<City>Testcity</City>
<State>DE</State>
<Zip>12345</Zip>
<Country>United States</Country>
</Address>
<Phone>1234567890</Phone>
<Email>john@bartucz.com</Email>
<AgeConfirm>Y</AgeConfirm>
<Birthdate />
</Consumer>
<ConsumerHandlingFee />
- <OrderShipping>
<ConsumerShippingCharge>0</ConsumerShippingCharge>
<ShippingPriority>STANDARD</ShippingPriority>
<ShippingInstructions />
</OrderShipping>
<OrderSalesTax>0.00</OrderSalesTax>
<BottleDeposit />
<OrderTotal>14.95</OrderTotal>
<Rebate />
- <OrderHeaderMisc>
<GiftMessage>N</GiftMessage>
</OrderHeaderMisc>
<ConsumerInsurance ConsumerInsuranceFlag="N" />
</OrderHeader>
- <OrderLines>
- <OrderLine>
<LineNumber>4</LineNumber>
<Quantity>1</Quantity>
- <Product>
<CustomerSKU>22</CustomerSKU>
<RetailPrice>14.95</RetailPrice>
<NVLSKU />
<Description />
<LabelName>Gruner Veltliner</LabelName>
<Vintage />
<BottleSize />
</Product>
<LineSubtotal>14.95</LineSubtotal>
</OrderLine>
- <OrderLine>
<LineNumber>4</LineNumber>
<Quantity>1</Quantity>
- <Product>
<CustomerSKU>22</CustomerSKU>
<RetailPrice>14.95</RetailPrice>
<NVLSKU />
<Description />
<LabelName>Gruner Veltliner</LabelName>
<Vintage />
<BottleSize />
</Product>
<LineSubtotal>14.95</LineSubtotal>
</OrderLine>
</OrderLines>
</Order>
</Orders>
</submitOrderBatch>
</orderBatchElement>
</ns1:submitOrderBatch>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
===============================
So I'll just try creating a service according the other two request/respons
pair.
Thanks,
Steven Cheng
Microsoft Online Support
Get Secure!
www.microsoft.com/security
--------------------
From: "MR" <comconix@newsgroup.nospam>
References: <uy2Zf03wFHA.2232@TK2MSFTNGP11.phx.gbl>
<XiiqVQ#wFHA.2080@TK2MSFTNGXA01.phx.gbl>
<ep9RMhDxFHA.1412@TK2MSFTNGP09.phx.gbl>
<HVw2BsNxFHA.768@TK2MSFTNGXA01.phx.gbl>
<uLjow4NxFHA.3740@tk2msftngp13.phx.gbl>
<Cdk35gbxFHA.460@TK2MSFTNGXA01.phx.gbl>
<uJagxd2xFHA.2228@TK2MSFTNGP11.phx.gbl>
<T17pkM8xFHA.768@TK2MSFTNGXA01.phx.gbl>
Subject: Re: The data at the root level is invalid exception
Date: Mon, 3 Oct 2005 13:14:54 +0300
Lines: 1040
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.2670
X-RFC2646: Format=Flowed; Original
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2670
Message-ID: <uOClRNAyFHA.448@TK2MSFTNGP11.phx.gbl>
Newsgroups: microsoft.public.dotnet.framework.webservices
NNTP-Posting-Host: hevron.biconix.com 62.90.12.234
Path: TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFT NGP11.phx.gbl
microsoft.public.dotnet.framework.webservices:8088
X-Tomcat-NG: microsoft.public.dotnet.framework.webservices
This is a request message that is a created, but before it is reformatted
<?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>
- <submitOrderBatch xmlns="urn:OrderOperations">
- <orderBatchElement>
- <submitOrderBatch CustomerBatchID="71">
<Customer OrderSource="NVL TEST CUSTOMER (CUSTOMER)" CustomerID="1097" />
- <Orders>
- <Order GiftOrder="N" GiftWrapOrder="N" OrderType="STND"
CustomerOrderID="25001" AddressOverrideFlag="Y">
- <OrderHeader>
<OrderDate>08/01/05</OrderDate>
- <Consumer>
- <Consumer Type="SoldTo" ConsumerID="58653">
- <Name>
<FirstName>Testfirstname</FirstName>
<MiddleName />
<LastName>Testlastname</LastName>
</Name>
<CompanyName />
- <Address>
<AddressLine1>1 Testaddress Street</AddressLine1>
<AddressLine2 />
<City>Testcity</City>
<State>DE</State>
<Zip>12345</Zip>
<Country>United States</Country>
</Address>
<Phone>1234567890</Phone>
<Email>john@bartucz.com</Email>
<AgeConfirm>Y</AgeConfirm>
<Birthdate />
</Consumer>
- <Consumer Type="ShipTo" ConsumerID="58653">
- <Name>
<FirstName>Testfirstname</FirstName>
<MiddleName />
<LastName>Testlastname</LastName>
</Name>
<CompanyName />
- <Address>
<AddressLine1>1 Testaddress Street</AddressLine1>
<AddressLine2 />
<City>Testcity</City>
<State>DE</State>
<Zip>12345</Zip>
<Country>United States</Country>
</Address>
<Phone>1234567890</Phone>
<Email>john@bartucz.com</Email>
<AgeConfirm>Y</AgeConfirm>
<Birthdate />
</Consumer>
</Consumer>
<ConsumerHandlingFee />
- <OrderShipping>
<ConsumerShippingCharge>0</ConsumerShippingCharge>
<ShippingPriority>STANDARD</ShippingPriority>
<ShippingInstructions />
</OrderShipping>
<OrderSalesTax>0.00</OrderSalesTax>
<BottleDeposit />
<OrderTotal>14.95</OrderTotal>
<Rebate />
- <OrderHeaderMisc>
<GiftMessage>N</GiftMessage>
</OrderHeaderMisc>
<ConsumerInsurance ConsumerInsuranceFlag="N" />
</OrderHeader>
- <OrderLines>
- <OrderLine>
<LineNumber>4</LineNumber>
<Quantity>1</Quantity>
- <Product>
<CustomerSKU>22</CustomerSKU>
<RetailPrice>14.95</RetailPrice>
<NVLSKU />
<Description />
<LabelName>Gruner Veltliner</LabelName>
<Vintage />
<BottleSize />
</Product>
<LineSubtotal>14.95</LineSubtotal>
</OrderLine>
- <OrderLine>
<LineNumber>4</LineNumber>
<Quantity>1</Quantity>
- <Product>
<CustomerSKU>22</CustomerSKU>
<RetailPrice>14.95</RetailPrice>
<NVLSKU />
<Description />
<LabelName>Gruner Veltliner</LabelName>
<Vintage />
<BottleSize />
</Product>
<LineSubtotal>14.95</LineSubtotal>
</OrderLine>
</OrderLines>
</Order>
</Orders>
</submitOrderBatch>
</orderBatchElement>
</submitOrderBatch>
</soap:Body>
</soap:Envelope>
This is a request message after it is formatted:
<?xml version="1.0" encoding="utf-8" ?>
- <SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/1999/XMLSchema">
- <SOAP-ENV:Body>
- <ns1:submitOrderBatch xmlns:ns1="urn:OrderOperations"
SOAP-ENV:encodingStyle="http://xml.apache.org/xml-soap/literalxml">
- <orderBatchElement>
- <submitOrderBatch CustomerBatchID="71">
<Customer OrderSource="NVL TEST CUSTOMER (CUSTOMER)" CustomerID="1097" />
- <Orders>
- <Order GiftOrder="N" GiftWrapOrder="N" OrderType="STND"
CustomerOrderID="25001" AddressOverrideFlag="Y">
- <OrderHeader>
<OrderDate>08/01/05</OrderDate>
- <Consumer Type="SoldTo" ConsumerID="58653">
- <Name>
<FirstName>Testfirstname</FirstName>
<MiddleName />
<LastName>Testlastname</LastName>
</Name>
<CompanyName />
- <Address>
<AddressLine1>1 Testaddress Street</AddressLine1>
<AddressLine2 />
<City>Testcity</City>
<State>DE</State>
<Zip>12345</Zip>
<Country>United States</Country>
</Address>
<Phone>1234567890</Phone>
<Email>john@bartucz.com</Email>
<AgeConfirm>Y</AgeConfirm>
<Birthdate />
</Consumer>
- <Consumer Type="ShipTo" ConsumerID="58653">
- <Name>
<FirstName>Testfirstname</FirstName>
<MiddleName />
<LastName>Testlastname</LastName>
</Name>
<CompanyName />
- <Address>
<AddressLine1>1 Testaddress Street</AddressLine1>
<AddressLine2 />
<City>Testcity</City>
<State>DE</State>
<Zip>12345</Zip>
<Country>United States</Country>
</Address>
<Phone>1234567890</Phone>
<Email>john@bartucz.com</Email>
<AgeConfirm>Y</AgeConfirm>
<Birthdate />
</Consumer>
<ConsumerHandlingFee />
- <OrderShipping>
<ConsumerShippingCharge>0</ConsumerShippingCharge>
<ShippingPriority>STANDARD</ShippingPriority>
<ShippingInstructions />
</OrderShipping>
<OrderSalesTax>0.00</OrderSalesTax>
<BottleDeposit />
<OrderTotal>14.95</OrderTotal>
<Rebate />
- <OrderHeaderMisc>
<GiftMessage>N</GiftMessage>
</OrderHeaderMisc>
<ConsumerInsurance ConsumerInsuranceFlag="N" />
</OrderHeader>
- <OrderLines>
- <OrderLine>
<LineNumber>4</LineNumber>
<Quantity>1</Quantity>
- <Product>
<CustomerSKU>22</CustomerSKU>
<RetailPrice>14.95</RetailPrice>
<NVLSKU />
<Description />
<LabelName>Gruner Veltliner</LabelName>
<Vintage />
<BottleSize />
</Product>
<LineSubtotal>14.95</LineSubtotal>
</OrderLine>
- <OrderLine>
<LineNumber>4</LineNumber>
<Quantity>1</Quantity>
- <Product>
<CustomerSKU>22</CustomerSKU>
<RetailPrice>14.95</RetailPrice>
<NVLSKU />
<Description />
<LabelName>Gruner Veltliner</LabelName>
<Vintage />
<BottleSize />
</Product>
<LineSubtotal>14.95</LineSubtotal>
</OrderLine>
</OrderLines>
</Order>
</Orders>
</submitOrderBatch>
</orderBatchElement>
</ns1:submitOrderBatch>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
This is the response that I get but cannot de-serialize
<?xml version="1.0" encoding="UTF-8" ?>
- <SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/1999/XMLSchema">
- <SOAP-ENV:Body>
- <ns1:submitOrderBatchResponse xmlns:ns1="urn:OrderOperations"
SOAP-ENV:encodingStyle="http://xml.apache.org/xml-soap/literalxml">
- <return>
- <submitOrderBatchResponse>
- <errorDetail errorTypeID="1">
- <errorItem customerBatchID="71">
<errorMessage>[OrderOperations].submitOrderBatch() couldn't submitBatch
due to catchall Exception:
com.newvinelogistics.chuck.batch.client.BatchExcep tion:
[BatchManagerBean].submitOrderBatchAsync() customerBatchId 71 is not
unique,
cannot submit OrderBatch</errorMessage>
</errorItem>
</errorDetail>
</submitOrderBatchResponse>
</return>
</ns1:submitOrderBatchResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
I can take care of the version differences, but cannot create the class
that
gets the de-serialized message
i am attaching the proxy code too
thank you very much,
m
"Steven Cheng[MSFT]" <stcheng@online.microsoft.com> wrote in message
news:T17pkM8xFHA.768@TK2MSFTNGXA01.phx.gbl...[color=blue]
> Thanks for your response MR,
>
> So would you please provide me a complete sample SOAP request and
> response messages list your service client will currently need to produce
> and receive (the SOAP 1.1 one after you converted). I can try building a
> webservice and client proxy on my side to see whether I can correctly
> consume it.
>
> Thanks,
>
> Steven Cheng
> Microsoft Online Support
>
> Get Secure!
www.microsoft.com/security
> (This posting is provided "AS IS", with no warranties, and confers no
> rights.)
>
>
>
>
>
>
>
> --------------------
> From: "MR" <comconix@newsgroup.nospam>
> References: <uy2Zf03wFHA.2232@TK2MSFTNGP11.phx.gbl>
> <XiiqVQ#wFHA.2080@TK2MSFTNGXA01.phx.gbl>
> <ep9RMhDxFHA.1412@TK2MSFTNGP09.phx.gbl>
> <HVw2BsNxFHA.768@TK2MSFTNGXA01.phx.gbl>
> <uLjow4NxFHA.3740@tk2msftngp13.phx.gbl>
> <Cdk35gbxFHA.460@TK2MSFTNGXA01.phx.gbl>
> Subject: Re: The data at the root level is invalid exception
> Date: Sun, 2 Oct 2005 18:39:10 +0300
> Lines: 382
> X-Priority: 3
> X-MSMail-Priority: Normal
> X-Newsreader: Microsoft Outlook Express 6.00.2900.2670
> X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2670
> X-RFC2646: Format=Flowed; Original
> Message-ID: <uJagxd2xFHA.2228@TK2MSFTNGP11.phx.gbl>
> Newsgroups: microsoft.public.dotnet.framework.webservices
> NNTP-Posting-Host: hevron.biconix.com 62.90.12.234
> Path: TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFT NGP11.phx.gbl
> Xref: TK2MSFTNGXA01.phx.gbl
> microsoft.public.dotnet.framework.webservices:8083
> X-Tomcat-NG: microsoft.public.dotnet.framework.webservices
>
> i created a parallel ASP.NET site using the DTD files they gave me,
> created
> the proxy based on that and then manually modified the attributes of the
> proxy. i also modified the outgoing message using WSE. now i am trying to
> de-serialize the message that i am receiving, but i am not able to. i
> thought this would be easier because i can see exactly what is being
> received from the server.
> i am not sure what the structure of the class that it should be
> de-serialized to should be or what the attributes should be.
> m
> "Steven Cheng[MSFT]" <stcheng@online.microsoft.com> wrote in message
> news:Cdk35gbxFHA.460@TK2MSFTNGXA01.phx.gbl...[color=green]
>> Thanks for your reply MR,
>>
>> So how did you build the proxy class you currently using? Or just a class
>> which use XmlSerializer to deserizlie the soap message?
>>
>> Steven Cheng
>> Microsoft Online Support
>>
>> Get Secure!
www.microsoft.com/security
>> (This posting is provided "AS IS", with no warranties, and confers no
>> rights.)
>>
>>
>>
>> --------------------
>> From: "MR" <comconix@newsgroup.nospam>
>> References: <uy2Zf03wFHA.2232@TK2MSFTNGP11.phx.gbl>
>> <XiiqVQ#wFHA.2080@TK2MSFTNGXA01.phx.gbl>
>> <ep9RMhDxFHA.1412@TK2MSFTNGP09.phx.gbl>
>> <HVw2BsNxFHA.768@TK2MSFTNGXA01.phx.gbl>
>> Subject: Re: The data at the root level is invalid exception
>> Date: Thu, 29 Sep 2005 13:11:34 +0300
>> Lines: 330
>> X-Priority: 3
>> X-MSMail-Priority: Normal
>> X-Newsreader: Microsoft Outlook Express 6.00.2900.2670
>> X-RFC2646: Format=Flowed; Original
>> X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2670
>> Message-ID: <uLjow4NxFHA.3740@tk2msftngp13.phx.gbl>
>> Newsgroups: microsoft.public.dotnet.framework.webservices
>> NNTP-Posting-Host: hevron.biconix.com 62.90.12.234
>> Path: TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!tk2msft ngp13.phx.gbl
>> Xref: TK2MSFTNGXA01.phx.gbl
>> microsoft.public.dotnet.framework.webservices:8058
>> X-Tomcat-NG: microsoft.public.dotnet.framework.webservices
>>
>> the problem is that there is no WSDL document.
>>
>> "Steven Cheng[MSFT]" <stcheng@online.microsoft.com> wrote in message
>> news:HVw2BsNxFHA.768@TK2MSFTNGXA01.phx.gbl...[color=darkred]
>>> Thanks for your followup MR,
>>>
>>> So the
>>> <?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>
>>> <submitOrderBatchResponse xmlns="urn:OrderOperations">
>>> <return>
>>> <submitOrderBatchResponse>
>>> <errorDetail errorTypeID="2">
>>> <errorItem customerBatchID="70">
>>> <errorMessage>[OrderOperations].submitOrderBatch() Found
>>> badly
>>> formed or missing Xml in following elements Order/OrderHeader
>>> Order/OrderLines</errorMessage>
>>> </errorItem>
>>> </errorDetail>
>>> </submitOrderBatchResponse>
>>> </return>
>>> </submitOrderBatchResponse>
>>> </soap:Body>
>>> </soap:Envelope>
>>>
>>>
>>> message is the one after you manually converting from 1.0 message to
>>> 1.1,
>>> yes? Then, how is your current used client proxy generated? Through
>>> which
>>> WSDL file?
>>>
>>> Thanks,
>>>
>>> Steven Cheng
>>> Microsoft Online Support
>>>
>>> Get Secure!
www.microsoft.com/security
>>> (This posting is provided "AS IS", with no warranties, and confers no
>>> rights.)
>>>
>>> --------------------
>>> From: "MR" <comconix@newsgroup.nospam>
>>> References: <uy2Zf03wFHA.2232@TK2MSFTNGP11.phx.gbl>
>>> <XiiqVQ#wFHA.2080@TK2MSFTNGXA01.phx.gbl>
>>> Subject: Re: The data at the root level is invalid exception
>>> Date: Wed, 28 Sep 2005 17:24:07 +0300
>>> Lines: 252
>>> X-Priority: 3
>>> X-MSMail-Priority: Normal
>>> X-Newsreader: Microsoft Outlook Express 6.00.2900.2670
>>> X-RFC2646: Format=Flowed; Original
>>> X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2670
>>> Message-ID: <ep9RMhDxFHA.1412@TK2MSFTNGP09.phx.gbl>
>>> Newsgroups: microsoft.public.dotnet.framework.webservices
>>> NNTP-Posting-Host: hevron.biconix.com 62.90.12.234
>>> Path: TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFT NGP09.phx.gbl
>>> Xref: TK2MSFTNGXA01.phx.gbl
>>> microsoft.public.dotnet.framework.webservices:8048
>>> X-Tomcat-NG: microsoft.public.dotnet.framework.webservices
>>>
>>> Hi Steven,
>>> Yes this is a continuation of the previous problem except that I solved
>>> the
>>> previous problem by intercepting the SOAP message on the way out and
>>> converting from SOAP 1.1 to SOAP 1.0
>>> I am intercepting the SOAP message on the way in as well and converting
>>> it
>>> back from version 1.0 to 1.1. the SOAP message i posted is after I have
>>> converted it.
>>> Since i do not own the Web Service, I do not have the ability to change
>>> the
>>> Web Service, so i have to handle everything in the client. Apparently
>>> the
>>> DTD files that I received are not accurate so that client/proxy code
>>> does
>>> not match the incoming message.
>>> I need to know what changes do i need to make to my client/proxy code to
>>> be
>>> able to handle the incoming message OR what changes do i have to make to
>>> the
>>> incoming message so that i can handle it with my existing classes
>>> thanks
>>> mr
>>>
>>>
>>> "Steven Cheng[MSFT]" <stcheng@online.microsoft.com> wrote in message
>>> news:XiiqVQ%23wFHA.2080@TK2MSFTNGXA01.phx.gbl...
>>>> HI MR,
>>>>
>>>> See you again. Seems you're still suffering some problem on the
>>>> webservice
>>>> issue. I think the elements and service code in this thread is the
>>>> current
>>>> implement of your service mentioned in your former post ,yes?
>>>>
>>>> From the pasted SOAP Message and class definition, I think all of them
>>>> are
>>>> OK and didn't have any syntax or declaration problems. I'm wondering
>>>> what
>>>> does the
>>>> "whenever I try to deserialize an incoming SOAP message"
>>>>
>>>> means, do you mean the .NET webservice client's auto deserialize or
>>>> you're
>>>> manually intercept the SOAP stream and do custom deserializing? If
>>>> it's
>>>> the latter, would you provide some further code on your custom
>>>> deserializing steps so that I can have a further test?
>>>>
>>>> In addition, from your service code, you used the following attributes
>>>> to
>>>> control the SOAP request/response message of the webservice
>>>> ==================
>>>> [System.Web.Services.Protocols.SoapDocumentMethodAt tribute(
>>>> RequestElementName = "submitOrderBatch",
>>>> RequestNamespace="urn:OrderOperations",
>>>> ResponseElementName="@@@@@@@",
>>>> ResponseNamespace="urn:OrderOperations",
>>>> Use=System.Web.Services.Description.SoapBindingUse .Literal,
>>>> ParameterStyle=
>>>> System.Web.Services.Protocols.SoapParameterStyle.W rapped)]
>>>> [return: System.Xml.Serialization.SoapElementAttribute("@@@ @@@@")]
>>>> ==================
>>>>
>>>> I think you can also consider using the following style attributes:
>>>>
>>>>
>>>>
>>>> Using SoapParameterStyle.Bare can help us ingore the .net function
>>>> signature and return type. We can just define our custom type for
>>>> representing the request / response SOAP element. For example, the
>>>> following webservice:
>>>>
>>>> =====================
>>>> [WebMethod()]
>>>> [SoapDocumentMethod(
>>>> ParameterStyle=SoapParameterStyle.Bare
>>>> )]
>>>>
>>>> public VariantOperationResponse
>>>> VariantOperation(VariantOperationRequest
>>>> request)
>>>> {
>>>> VariantOperationResponse response = new VariantOperationResponse();
>>>>
>>>> switch(request.ItemType)
>>>> {
>>>> case "int":
>>>> response.Item = 12345;
>>>> break;
>>>> case "string":
>>>> response.Item = "My String";
>>>> break;
>>>> case "bool":
>>>> response.Item = true;
>>>> break;
>>>> }
>>>>
>>>> return response;
>>>>
>>>> }
>>>> =========================
>>>>
>>>> custom classes
>>>> ======================
>>>> [XmlRoot("variantOperationRequest")]
>>>> public class VariantOperationRequest
>>>> {
>>>> public VariantOperationRequest()
>>>> {
>>>> }
>>>>
>>>> [XmlElement("itemType")]
>>>> public string ItemType;
>>>> }
>>>>
>>>>
>>>> [XmlRoot("variantOperationResponse")]
>>>> public class VariantOperationResponse
>>>> {
>>>> public VariantOperationResponse()
>>>> {
>>>> }
>>>>
>>>> [XmlElement("intValue",typeof(int))]
>>>> [XmlElement("stringValue",typeof(string))]
>>>> [XmlElement("boolValue",typeof(bool))]
>>>> public object Item;
>>>>
>>>> }
>>>> ========================
>>>>
>>>> can help generate the following SOAP message:
>>>> ====request====
>>>> <?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>
>>>> <variantOperationRequest xmlns="http://tempuri.org/">
>>>> <itemType>string</itemType></variantOperationRequest>
>>>> </soap:Body>
>>>> </soap:Envelope>
>>>>
>>>> ====response=====
>>>> <?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>
>>>> <variantOperationResponse xmlns="http://tempuri.org/">
>>>> <stringValue>My String</stringValue></variantOperationResponse>
>>>> </soap:Body>
>>>> </soap:Envelope>
>>>>
>>>>
>>>> which is much more clear since it doesn't contain any other element
>>>> that
>>>> specific to the implement platform. This is a preferred approach for
>>>> developing SOA services.
>>>>
>>>> Thanks,
>>>>
>>>> Steven Cheng
>>>> Microsoft Online Support
>>>>
>>>> Get Secure!
www.microsoft.com/security
>>>> (This posting is provided "AS IS", with no warranties, and confers no
>>>> rights.)
>>>>
>>>> --------------------
>>>> From: "MR" <comconix@newsgroup.nospam>
>>>> Subject: The data at the root level is invalid exception
>>>> Date: Tue, 27 Sep 2005 19:04:17 +0300
>>>> Lines: 75
>>>> X-Priority: 3
>>>> X-MSMail-Priority: Normal
>>>> X-Newsreader: Microsoft Outlook Express 6.00.2900.2670
>>>> X-RFC2646: Format=Flowed; Original
>>>> X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2670
>>>> Message-ID: <uy2Zf03wFHA.2232@TK2MSFTNGP11.phx.gbl>
>>>> Newsgroups:
>>>> microsoft.public.dotnet.framework.webservices,micr osoft.public.xml.soap
>>>> NNTP-Posting-Host: hevron.biconix.com 62.90.12.234
>>>> Path: TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFT NGP11.phx.gbl
>>>> Xref: TK2MSFTNGXA01.phx.gbl microsoft.public.xml.soap:1165
>>>> microsoft.public.dotnet.framework.webservices:8036
>>>> X-Tomcat-NG: microsoft.public.dotnet.framework.webservices
>>>>
>>>> I get the following Exception "The data at the root level is invalid.
>>>> Line
>>>> 1, position 642" whenever I try to deserialize an incoming SOAP
>>>> message.
>>>> The
>>>> incoming message is formed well and its length is 642 bytes ( I have
>>>> appended it to the end of this message).
>>>> I suspect that the reason may have something to do with an incorrect
>>>> declaration of which class to de-serialize to.
>>>> In the attached code I substituted @@@@@@@ in the code below with
>>>> "submitOrderBatchResponse" and "response" but still get the same
>>>> exception.
>>>> Am I overlooking something?
>>>> I appreciate your suggestions
>>>> thanks
>>>> m
>>>>
>>>>
>>>> [System.Web.Services.Protocols.SoapDocumentMethodAt tribute(
>>>> RequestElementName = "submitOrderBatch",
>>>> RequestNamespace="urn:OrderOperations",
>>>> ResponseElementName="@@@@@@@",
>>>> ResponseNamespace="urn:OrderOperations",
>>>> Use=System.Web.Services.Description.SoapBindingUse .Literal,
>>>> ParameterStyle=
>>>> System.Web.Services.Protocols.SoapParameterStyle.W rapped)]
>>>> [return: System.Xml.Serialization.SoapElementAttribute("@@@ @@@@")]
>>>> public @@@@@@@ submitOrderBatch(Element orderBatchElement)
>>>> {
>>>> object[] results = this.Invoke("submitOrderBatch", new object[]
>>>> {orderBatchElement});
>>>> return ((@@@@@@@)(results[0]));
>>>> }
>>>>
>>>>
>>>> [System.Xml.Serialization.SoapTypeAttribute("respon se",
>>>> "http://xml.apache.org/xml-soap")]
>>>> public class response
>>>> {
>>>> public submitOrderBatchResponse SubmitOrderBatchResponse;
>>>> }
>>>>
>>>>
>>>> [System.Xml.Serialization.SoapTypeAttribute("submit OrderBatchResponse",
>>>> "urn:OrderOperations")]
>>>> public class submitOrderBatchResponse
>>>> {
>>>> [System.Xml.Serialization.XmlElementAttribute("erro rDetail",
>>>> typeof(errorDetail))]
>>>> [System.Xml.Serialization.XmlElementAttribute("resp onseMessage",
>>>> typeof(string))]
>>>> [System.Xml.Serialization.XmlElementAttribute("resp onseDetail",
>>>> typeof(responseDetail))]
>>>> public object Item;
>>>> }
>>>>
>>>>
>>>>
>>>> <?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>
>>>> <submitOrderBatchResponse xmlns="urn:OrderOperations">
>>>> <return>
>>>> <submitOrderBatchResponse>
>>>> <errorDetail errorTypeID="2">
>>>> <errorItem customerBatchID="70">
>>>> <errorMessage>[OrderOperations].submitOrderBatch() Found
>>>> badly
>>>> formed or missing Xml in following elements Order/OrderHeader
>>>> Order/OrderLines</errorMessage>
>>>> </errorItem>
>>>> </errorDetail>
>>>> </submitOrderBatchResponse>
>>>> </return>
>>>> </submitOrderBatchResponse>
>>>> </soap:Body>
>>>> </soap:Envelope>
>>>>
>>>>
>>>>
>>>
>>>
>>>[/color]
>>
>>
>>[/color]
>
>
>[/color]