Клиент .net, использующий веб-сервис Axis2 - PullRequest
0 голосов
/ 08 июня 2011

У меня есть клиентское приложение .net 2.0 C # , в котором есть ссылка на веб-сервис для Java-сервиса Axis2 Java. Идея состоит в том, чтобы отправить некоторые данные XML в веб-сервис, чтобы их можно было проанализировать и вставить в базу данных. Метод WS принимает один параметр типа «xsd: anytype».

Веб-сервис Java:

public class JWS{    
    public Response AddData(Object inputXML) {            
        return Response;
    }  
}

C # Клиент:

JWS client = new JWS();
object inputXML = "<xml>some xml data</xml>";
response = client.AddData(inputXML);

Есть 2 проблемы, которые я наблюдаю при мониторинге с использованием fiddler.

1) В запрос добавлен дополнительный элемент '<inputXML>', добавленный перед фактическими данными xml.

<inputXML>&lt;xml&gt;some xml data&lt;/xml&gt;</inputXML>

2) XML кодируется, поэтому «<» выглядит как <code>"&lt;"

Я не уверен, что именно так создаются запросы SOAP, но я хотел бы удалить тег <inputXML>, а также, чтобы xml отображался как есть, без необходимости замены специальных символов.

Возможно ли это? Это как-то связано с типами 'Wrapping' / 'UnWrapping'?

Кроме того, я использовал SoapUI для тестирования веб-службы Java, и она работает хорошо. Однако на вкладке запроса мне пришлось вручную удалить тег <inputXML> и отправить его для корректной работы. Пожалуйста, помогите.

ТИА

Ответы [ 2 ]

1 голос
/ 08 июня 2011

Это ожидаемое поведение в SOAP, и переменная inputXml будет декодирована обратно в исходную строку при передаче в метод веб-службы.

Однако это может указывать на проблему с вашим дизайном. Рассматривали ли вы создание объекта для отправки в веб-службу вместо XML-данных?(Так как этот объект будет прозрачно преобразован в xml для вызова веб-службы в любом случае).

0 голосов
/ 11 июня 2011

Я обнаружил, что проблема не в кодировке, но она была неправильно интерпретирована на стороне java, когда сообщение было просмотрено в axis2.Итак, он декодируется правильно.Кроме того, inputxml теперь обрабатывается правильно.

...