Server was unable to process request. Unable to parse the request. Please validate your SOAP XML.

296 views
Skip to first unread message

Mike Calvert

unread,
Jun 13, 2013, 3:46:37 PM6/13/13
to ca...@googlegroups.com
Hello,

Starting at 2 A.M. this morning we started receiving the following errors in a .NET integration:

Server was unable to process request. Unable to parse the request. Please validate your SOAP XML.

We are using a direct WSDL reference and called the GetOrderList as follows:

        odcCriteria.DetailLevel = "Complete"
        odcCriteria.PaymentStatusFilter = "Cleared"
        odcCriteria.ExportState = "NotExported"
        odcCriteria.ShippingStatusFilter = "Unshipped"



        odcCriteria.PageNumberFilter = 1
        odcCriteria.PageSize = 100
        _mOrders = ChannelAdvisorService.GetOrderList(ChannelAdvisorService.AccountID, odcCriteria)

We have been running stable for months now and updating our WSDL reference is not working.  Is there a change here we need to do?

[CA] Marshall McClure

unread,
Jun 14, 2013, 10:06:15 AM6/14/13
to ChannelAdvisor Developer Network
There shouldn't be. What version of the API are you using? Can you
provide an XML sample? I would like to try to reproduce the error.

Mike Calvert

unread,
Jun 14, 2013, 11:24:32 AM6/14/13
to ca...@googlegroups.com
I'm not sending raw XML, I am using the .NET generated object library based on the WSDL in v7

The code I provided is the object call that I make

[CA] Marshall McClure

unread,
Jun 14, 2013, 11:31:20 AM6/14/13
to ChannelAdvisor Developer Network
Even with .Net-generated proxy classes, your application still
communicates with the API via XML. I should have enough information
now to start looking into your issue, though.

Mike Calvert

unread,
Jun 14, 2013, 11:36:34 AM6/14/13
to ca...@googlegroups.com
Could this possibly be my account?  It seems like other people are having issues with the order API but they are still pulling orders down.  I am working with a high volume client and in the past two days we have 400+ orders that are stuck from Amazon.  Amazon will start to bring down the hammer on us if we don't fulfill them soon

[CA] Marshall McClure

unread,
Jun 14, 2013, 11:59:16 AM6/14/13
to ChannelAdvisor Developer Network
I created a small C# test app with a service reference to V7
OrderService and successfully submitted a call to GetOrderList using
your criteria. I also tried switching from a service reference to
a .Net 2.0-style web reference, and that was successful as well.

An XML parser failure means that the API does not progress to the
point of looking up your account. The parser dislikes something about
the XML produced by your application, so this problem should not be
tied to your account in any way.

Logging your request XML may make it clear what is missing or
incorrect. If you don't already have a switch you can flip to do
that, you can try using a web debugging proxy like Fiddler. http://fiddler2.com/

Mike Calvert

unread,
Jun 14, 2013, 12:09:58 PM6/14/13
to ca...@googlegroups.com
Here is the XML the application is producing:

<?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:Header>
<DeveloperKey>**</DeveloperKey>
<Password>**</Password>
</APICredentials>
</soap:Header>
<soap:Body>
<accountID xsi:nil="true" />
<orderCriteria>
<OrderCreationFilterBeginTimeGMT xsi:nil="true" xmlns="http://api.channeladvisor.com/datacontracts/orders" />
<OrderCreationFilterEndTimeGMT xsi:nil="true" xmlns="http://api.channeladvisor.com/datacontracts/orders" />
<StatusUpdateFilterBeginTimeGMT xsi:nil="true" xmlns="http://api.channeladvisor.com/datacontracts/orders" />
<StatusUpdateFilterEndTimeGMT xsi:nil="true" xmlns="http://api.channeladvisor.com/datacontracts/orders" />
<JoinDateFiltersWithOr xsi:nil="true" xmlns="http://api.channeladvisor.com/datacontracts/orders" />
<DetailLevel xmlns="http://api.channeladvisor.com/datacontracts/orders">Complete</DetailLevel>
<ExportState xmlns="http://api.channeladvisor.com/datacontracts/orders">NotExported</ExportState>
<PaymentStatusFilter xmlns="http://api.channeladvisor.com/datacontracts/orders">Cleared</PaymentStatusFilter>
<ShippingStatusFilter xmlns="http://api.channeladvisor.com/datacontracts/orders">Unshipped</ShippingStatusFilter>
<PageNumberFilter xmlns="http://api.channeladvisor.com/datacontracts/orders">1</PageNumberFilter>
</orderCriteria>
</GetOrderList>
</soap:Body>
</soap:Envelope>

I took out my credentials, but I get the same result with or without credentials.

Mike Calvert

unread,
Jun 14, 2013, 12:13:55 PM6/14/13
to ca...@googlegroups.com
It looks like the Account ID is not being passed.  I dug a little deeper and in my request to get my account ID I am getting the following message:

Server was unable to process request. Authentication/Authorization failed.

It looks like my account is not authorized, should I make another request?
Message has been deleted

[CA] Marshall McClure

unread,
Jun 14, 2013, 12:29:32 PM6/14/13
to ChannelAdvisor Developer Network
GetAuthorizationList is returning that error? Since
GetAuthorizationList does not do an authorization check, it must be an
authentication error.

Mike Calvert

unread,
Jun 14, 2013, 12:48:33 PM6/14/13
to ca...@googlegroups.com
I made another request to authorize my developer key for this client and it failed with the same Authentication/Authorization failed.

Here is my call for that:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/
<soap:Header>
<DeveloperKey>***</DeveloperKey>
<Password>***$</Password>
</APICredentials>
</soap:Header>
<soap:Body>
<localID>***</localID>
</RequestAccess>
</soap:Body>
</soap:Envelope>

Mike Calvert

unread,
Jun 14, 2013, 2:04:38 PM6/14/13
to ca...@googlegroups.com
Here is my developer key if it helps:

db40e6ff-bd5a-47f7-8e42-14d32930a8d1

[CA] Marshall McClure

unread,
Jun 14, 2013, 2:15:18 PM6/14/13
to ChannelAdvisor Developer Network
I am pretty certain it is an authentication error, not an
authorization error. That indicates a problem with your password.
The two most likely scenarios are that either you are submitting the
wrong value or your password was changed but your application was not
updated to match. You can open a support case to request a password
reset so you can be certain of the correct password:
https://ssc.channeladvisor.com/support/create-case.
Reply all
Reply to author
Forward
0 new messages