2010-08-26 27 views
5

J'ai donc ce nouveau service Web Axis2 MTOM qui fonctionne correctement sur un client webservice basé sur Java.Axis2 MTOM Webservice et un client .NET pour le consommer

Le problème survient lorsque j'essaie d'ajouter la référence de service (ou web) à la vs2008 et consommer avec le code généré. Jusqu'à présent, tout est OK ... voici ce qui se passe:

  1. Nous créons les objets nécessaires (client, demande et paramètre objet )
  2. Nous appelons le service
  3. Lors de la réception de la réponse, il jette une exception avec ce message:

Client found response content type of 'multipart/related; 
    boundary=MIMEBoundaryurn_uuid_6C47CADDECCCB90D951282776406454; 
    type="application/xop+xml"; start=" 
    <0.urn:uuid:[email protected]>"; start-info="text/xml"', 
    but expected 'text/xml'. 

    The request failed with the error message: 


MIMEBoundaryurn_uuid_6C47CADDECCCB90D951282776406454 
Content-Type: application/xop+xml; charset=utf-8; type="text/xml" 
Content-Transfer-Encoding: binary 
Content-ID: <0.urn:uuid:[email protected]> 

<?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><ns:sendImageResponse xmlns:ns="http://org/company/ws/services/filetransfer/"><ns:return xmlns:ax213="http://filetransfer.objects.ws.company.com/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ax215="http://filetransfer.responses.objects.ws.company.com/xsd" xsi:type="ax215:SendImageResponse"><ax215:errorCode>1060</ax215:errorCode><ax215:errorMessage>Error ejecutando el servicio</ax215:errorMessage><ax215:output>1060</ax215:output></ns:return></ns:sendImageResponse></soapenv:Body></soapenv:Envelope> 
MIMEBoundaryurn_uuid_6C47CADDECCCB90D951282776406454 

O r la question sera

¿Comment définir la réponse du service web the axis2 comme non mime?

+0

Quel type de liaison utilisez-vous? – VinayC

+0

SOAP 1.1 HTTP liaison –

Répondre

4

Vous devez utiliser le codage MTOM dans la configuration. Voir example simple de MSDN pour l'utiliser avec wsHttpBinding (devrait également être possible avec basicHttpBinding). Cochez cette case article qui décrit la consommation du service Web Oracle à l'aide de la liaison personnalisée. Si vous souhaitez essayer la liaison personnalisée comme indiqué dans l'exemple, vous devez probablement définir messageVersion sur Soap11 plutôt que sur Soap12.

+0

Fait cela, et le problème persiste ... de toute façon, je vais essayer à nouveau dans quelques heures ... –

+0

Après quelques twekings sur les éléments sur les propriétés de l'objet de réponse (XMLElement) et une bonne aide de vous ... ça marche maintenant. Merci –

+0

@GarisMSuero - Pouvez-vous poster ce que vous avez fait pour le faire fonctionner? J'ai le même problème (service web Axis2 utilisant mtom et j'implémente un client C#) et votre réponse est pleine d'espoir. – djbyter