2009-05-06 6 views
2

J'appelle un service Web d'axe de WCF. La requête fonctionne très bien mais je récupère des valeurs nulles. En utilisant Fiddler, j'ai pu déterminer que la réponse venait de base comme Transfer-Encoding: chunked. Cela signifie qu'il y a des caractères de contrôle dans la réponse AVANT le xml. WCF ne jette pas une erreur. Il se déplace juste et l'objet qui est censé être retourné par la méthode est nul. Quelqu'un peut-il me dire comment dire à WCF comment gérer correctement un message codé en blocs HTTP 1.1?.NET WCF ne peut pas décoder la réponse "Chunked"

Voici un lien vers une personne posant une question similer:

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

Savon Réponse:

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"><soapenv:Body><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"> 
    <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 

Répondre

0

Je ne pense pas que vous serez en mesure d'obtenir que pour travailler comme IIS (ou le client selon le côté où vous vous trouvez) devrait le retirer avant qu'il ne vous parvienne, tout comme vous ne devriez pas avoir à dégrouper manuellement une requête.

En this case il semble que chunked n'est pas bien pris en charge par le logiciel serveur.

Questions connexes