2010-08-26 15 views
5

Así que tengo este nuevo servicio web Axis2 MTOM que sirve correctamente a un cliente de servicio web basado en Java.Axis2 MTOM Webservice y un cliente .NET para consumirlo

El problema aparece cuando intento agregar la referencia de servicio (o web) al vs2008 y consumirlo con el código generado. Hasta ahora, todo está bien ... esto es lo que sucede:

  1. Creamos los objetos necesarios (cliente, solicitud y el parámetro objeto)
  2. Llamamos al servicio
  3. Cuando se recibe la respuesta, lanza una excepción con este mensaje:

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 pregunta será

¿Cómo establecer la respuesta del servicio web del eje2 para que no sea un tipo mimético?

+0

¿Qué tipo de encuadernación está usando? – VinayC

+0

Enlace HTTP HTTP –

Respuesta

4

Debe usar la codificación MTOM en la configuración. Vea el example simple de MSDN para usarlo con wsHttpBinding (también debería ser posible con basicHttpBinding). Verifique esto en article que describe el consumo del servicio web oráculo mediante el enlace personalizado. Si desea probar el enlace personalizado como se muestra en el ejemplo, probablemente necesite establecer messageVersion en Soap11 en lugar de Soap12.

+0

Hecho eso, y el problema persiste ... de todos modos, lo intentaré de nuevo en pocas horas ... –

+0

Después de algunos twekings en los elementos de las propiedades del objeto de respuesta (XMLElement) y una buena ayuda de ti ... está funcionando ahora. Gracias –

+0

@GarisMSuero - ¿Puedes publicar lo que has hecho para que funcione? Estoy teniendo el mismo problema (el servicio web Axis2 usando mtom y estoy implementando un cliente C#) y tu respuesta es esperanzadora. – djbyter