442 messaggi dal 08 febbraio 2009
Buon giorno

Ho un'applicazione web (nella fattispecie MVC) in cui un controller deve chiamare un WebService SOAP fornito da terzi, in pratica fa semplicemente da ponte.

Per farlo ho proceduto come si fa normalmente, ovvero ho aggiunto il riferimento al servizio ("add service reference") e Microsoft ha creato il proxy per fare le chiamate al servizio.

La cosa strana è che la chiamata viene fatta, però l'oggetto di ritorno è sempre null, eppure controllando i log la risposta c'è.


Questo è il codice con cui richiamo il servizio:

var service = new CFORPE.SI_CFORPE_OutbClient();
service.Open();
var body = service.SI_CFORPE_Outb(inParams);
service.Close();



La chiamata avviene correttamente, però la variabile "body" è sempre null.
Come detto ho abilitato la scrittura dei log e questa è la risposta (come si vede, il valore di ritorno è "1" e non null).



<HttpResponse xmlns="http://schemas.microsoft.com/2004/06/ServiceModel/Management/MessageTrace">
   <StatusCode>OK</StatusCode>
   <StatusDescription>OK</StatusDescription>
   <WebHeaders>
      <content-id>...</content-id>
      <content-disposition>...</content-disposition>
      <content-description>SOAP</content-description>
      <Content-Length>376</Content-Length>
      <Content-Type>text/xml; charset=utf-8</Content-Type>
      <Date>Wed, 24 Aug 2016 08:28:31 GMT</Date>
      <Set-Cookie>...</Set-Cookie>
      <Server>...</Server>
   </WebHeaders>
</HttpResponse>
<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP:Header></SOAP:Header>
   <SOAP:Body>
      <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://soap.sforce.com/schemas/class/ServicioFormasDePago">
         <soapenv:Body>
            <FormasDePagoResponse>
               <result>1</result>
            </FormasDePagoResponse>
         </soapenv:Body>
      </soapenv:Envelope>
   </SOAP:Body>
</SOAP:Envelope>




Qualcuno sa cosa posso guardare?
PS: Ho già provato ad aggiornare il riferimento al servizio ma non cambia nulla
Modificato da JoeRuspante il 25 agosto 2016 12.15 -
442 messaggi dal 08 febbraio 2009
Dopo qualche ora di ricerca ho scoperto il problema (lo posto così può servire ad altri).

In pratica la risposta fornita dal webservice non era conforme al WSDL (mancava un namespace).
Pertanto il client creato da Microsoft non riusciva a mappare i dati

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.