Axis2 MTOM Webservice и клиент .NET для его использования - PullRequest
5 голосов
/ 26 августа 2010

Итак, у меня есть новый веб-сервис Axis2 MTOM, который корректно работает с клиентом веб-сервиса на базе Java.

Проблема возникает, когда я пытаюсь добавить ссылку на службу (или веб-страницу) в vs2008 и использовать ее ссгенерированный код.До сих пор все в порядке ... вот что происходит:

  1. Мы создаем необходимые объекты (клиент, объект запроса и параметра)
  2. Мы вызываем сервис
  3. При получении ответа выдается исключение с таким сообщением:

  Client found response content type of 'multipart/related; 
  boundary=MIMEBoundaryurn_uuid_6C47CADDECCCB90D951282776406454; 
  type="application/xop+xml"; start="
  <0.urn:uuid:6C47CADDECCCB90D951282776406455@apache.org>"; 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:6C47CADDECCCB90D951282776406455@apache.org>

<?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

Или вопрос будет

¿Как установитьОтвет веб-службы axis2 не относится к типу mimetype?

1 Ответ

4 голосов
/ 26 августа 2010

Вам необходимо использовать кодировку MTOM в конфигурации.См. Простой пример из MSDN, чтобы использовать его с wsHttpBinding (также должно быть возможно с basicHttpBinding).Проверьте эту статью , в которой описывается использование веб-службы оракула с использованием пользовательского связывания.Если вы хотите попробовать пользовательскую привязку, как показано в примере, вам, вероятно, нужно установить для messageVersion значение Soap11, а не Soap12.

...