вызов веб-службы java с помощью веб-службы .net - PullRequest
1 голос
/ 14 мая 2009

HI

Не могли бы вы дать мне представление о том, как написать веб-сервис .net для вызова веб-сервиса Java (написанный другим лицом) через SOAP.

Спасибо С уважением Aparna

Ответы [ 4 ]

1 голос
/ 14 мая 2009

Как и в ответах выше, должно быть простым.

Единственное, с чем вам следует быть осторожным, это то, что ваша открытая веб-служба Java соответствует стандартам WS-I Basic Profile - другими словами, ей необходимо использовать привязку WSDL SOAP rpc / literal или document / literal. *

Если вы выставляете веб-службу с кодировкой RPC (что часто случается, если вы используете Apache Axis в качестве стека веб-служб), есть вероятность, что у могут возникнуть проблемы с попыткой использования это из .NET-клиента.

Здесь есть хорошая статья о стилях связывания WSDL: http://www.ibm.com/developerworks/webservices/library/ws-whichwsdl/

1 голос
/ 14 мая 2009

Для стандартного вызова веб-службы SOAP базовая реализация не должна быть важной для потребляющего приложения. Снесите WSDL и надейтесь, что звонки документированы достаточно хорошо, чтобы вы могли делать то, что вам нужно. Будьте осторожны с преобразованиями типов из другого языка программирования, они могут не совпадать с вызовом веб-службы так, как вы ожидаете на языке, который вы используете для обслуживания.

0 голосов
/ 14 мая 2009

По сути, вызов веб-службы Java в веб-службе .net, веб-приложении .net или Windows-приложении .net не имеет различий как таковых. Посмотрите на этот пост. Надеюсь, это очистит все ваши сомнения http://blogs.msdn.com/bursteg/archive/2008/07/19/how-to-call-a-java-ee-web-service-from-a-net-client.aspx

0 голосов
/ 14 мая 2009

Вы просто собираетесь сделать свою службу .NET клиентом для своей службы Java:

  1. Щелкните правой кнопкой мыши свой проект веб-службы и используйте «Добавить ссылку на службу»
  2. Укажите URL-адрес WSDL веб-службы Java в поле «Адрес», затем нажмите «Перейти»
  3. Укажите «пространство Namaes», через которое будет осуществляться доступ к службе Java, например «JavaService». Нажмите «ОК».
  4. Если все прошло хорошо, теперь у вас должно быть создано несколько классов в пространстве имен YourProjectNamespace .JavaService.

В частности, у вас должен быть тот, который представляет сам сервис. Теперь данная служба может реализовывать более одного контракта на обслуживание (называемого «типами портов» в терминах WSDL). Если служба реализует тип порта JavaServiceContract , вы должны найти класс с именем YourProjectNamespace .JavaService. JavaServiceContract Client. Предполагая, что этот контракт включает в себя операцию с именем «JavaOperation», вы должны вызывать ее следующим образом:

int returnValue = 0;
YourProjectNamespace.JavaService.JavaServiceContractClientjavaService = null;
try {
        javaService = 
            new YourProjectNamespace.JavaService.JavaServiceContractClient();
        returnValue = javaService.JavaOperation();
}
finally {
    if (javaService != null) {
        ((IDisposable)javaService.)Dispose();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...