views:

480

answers:

1

I am calling an axis web service from WCF. The request works just fine but I get back null values. Using Fiddler I was able to determine that the response is coming base as Transfer-Encoding: chunked. This means that there are control characters in in the response BEFORE the xml. WCF does NOT throw an error. It just moves on and the object that is supposed to be returned by the Method is null. Can anyone tell me how to tell WCF how to correctly handle an HTTP 1.1 chunked encoded message?

Here is a link to someone asking a similer question:

http://www.biztalkgurus.com/forums/t/10860.aspx

Soap Response:

HTTP/1.1 200 OK
Date: Wed, 06 May 2009 15:34:41 GMT
Server: Apache
Set-Cookie: JSESSIONID=01A43C26DB5E284B70F1F6D466D5CD5D; Path=/arsys
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/xml;charset=utf-8

ba7
<?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"&gt;&lt;soapenv:Body&gt;&lt;ns0:HelpDesk_QueryList_ServiceResponse xmlns:ns0="urn:Port" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&gt;
    <ns0:getListValues>
     <ns0:Assigned_Group>CHQ-TSR-WEL</ns0:Assigned_Group>
     <ns0:Assigned_Group_Shift_Name/>
     <ns0:Assigned_Support_Company>IT Support</ns0:Assigned_Support_Company>
     <ns0:Assigned_Support_Organization>WH</ns0:Assigned_Support_Organization>
     <ns0:Assignee>David</ns0:Assignee>
     <ns0:Categorization_Tier_1>ADD</ns0:Categorization_Tier_1>
     <ns0:Categorization_Tier_2>HARDWARE</ns0:Categorization_Tier_2>
     <ns0:Categorization_Tier_3>DESKTOP/LAPTOP/NOTEBOOK</ns0:Categorization_Tier_3>
     <ns0:City/>
     <ns0:Closure_Manufacturer/>
     <ns0:Closure_Product_Category_Tier1/>
     <ns0:Closure_Product_Category_Tier2/>
     <ns0:Closure_Product_Category_Tier3/>
     <ns0:Closure_Product_Model_Version/>
     <ns0:Closure_Product_Name/>
     <ns0:Company>IT Support</ns0:Company>
     <ns0:Contact_Company>IT Support</ns0:Contact_Company>
     <ns0:Contact_Sensitivity>Standard</ns0:Contact_Sensitivity>
     <ns0:Country/>
     <ns0:Department>WEL</ns0:Department>
     <ns0:Summary>Old PC to be Cascaded
</ns0:Summary>
     <ns0:Notes> User Name:
Make: Dell
Model: Latitude D600
Serial Number: 
Location: </ns0:Notes>
     <ns0:First_Name>James</ns0:First_Name>
     <ns0:Impact>3-Moderado/Limitado</ns0:Impact>
     <ns0:Incident_Number>INC000000009017</ns0:Incident_Number>
     <ns0:Internet_E-mail></ns0:Internet_E-mail>
     <ns0:Last_Name>Goodrich</ns0:Last_Name>
     <ns0:Manufacturer/>
     <ns0:Middle_Initial/>
     <ns0:Organization>--</ns0:Organization>
     <ns0:Phone_Number>+326</ns0:Phone_Number>
     <ns0:Priority>Medium</ns0:Priority>
     <ns0:Priority_Weight/>
     <ns0:Product_Categorization_Tier_1>HARDWARE</ns0:Product_Categorization_Tier_1>
     <ns0:Product_Categorization_Tier_2>DESKTOP/LAPTOP/NOTEBOOK</ns0:Product_Categorization_Tier_2>
     <ns0:Product_Categorization_Tier_3>CASCADE PC</ns0:Product_Categorization_Tier_3>
     <ns0:Product_Model_Version/>
     <ns0:Product_Name/>
     <ns0:Region></ns0:Region>
     <ns0:Reported_Source/>
     <ns0:Resolution>New PC
Make: 
Model: 
Serial Number: 
Ship to:
Shipping Carrier:
Tracking Number:</ns0:Resolution>
     <ns0:Resolution_Category/>
     <ns0:Resolution_Category_Tier_2/>
     <ns0:Resolution_Category_Tier_3/>
     <ns0:Service_Type>User Service Request</ns0:Service_Type>
     <ns0:Site>Salt Lake City</ns0:Site>
     <ns0:Site_Group/>
     <ns0:Status>Assigned</ns0:Status>
     <ns0:Status_Reason/>
     <ns0:Urgency>3-Medium</ns0:Urgency>
     <ns0:VIP>No</ns0:VIP>
    </ns0:getListValues>
</ns0:HelpDesk_QueryList_ServiceResponse></soapenv:Body></soapenv:Envelope>
0
A: 

I don't think you will be able to get that to work as IIS (or the client depending on what side you are on) should strip that out before it gets to you, same as you should not have to manually de-gzip a request.

In this case it seems that chunked is not well supported by server software.

JasonRShaver