В моем текущем проекте мне нужно подключиться к веб-службе JAX-WS от клиента .net .
Веб-служба JAX-WS работает на сервере tomcat .Я могу протестировать и использовать веб-сервис с помощью простого ruby сценария:
# test_web_services.rb
require 'rubygems'
require 'soap/wsdlDriver'
def get_driver
wsdl_url = 'http://localhost:8080/services/RPCService?WSDL'
return SOAP::WSDLDriverFactory.new(wsdl_url).create_rpc_driver
end
driver = get_driver
driver.createOrganization ARGV[0], "organization-name-parameter"
Я также могу подключиться с помощью SoapUI (инструмент для тестирования графического интерфейса SOAP), но как бы я ни старался, мне не удастся поразить веб-сервис любым клиентом .net Soap.
Также я не могу просмотреть wsdl с помощью браузера.Почти все ошибки 404 .Я даже зашел так далеко, что попытался точно имитировать заголовки запроса , поступающие из сценария ruby в моем .net-коде, но безрезультатно.Я также отключил свой брандмауэр , на всякий случай.
Служба JAX-WS запускается из компонента при запуске веб-сайта:
<bean class="org.springframework.remoting.jaxws.SimpleJaxWsServiceExporter">
<property name="baseAddress" value="http://localhost:8080/services/"/>
</bean>
<bean id="RPCServiceEndpoint" class="com.package.RPCServiceEndpoint"/>
Вот аннотации RPCServiceEndpoint.java использует:
@WebService(serviceName="RPCService")
@SOAPBinding(style=Style.RPC)
@Autowired applied to constructor
@WebMethod applied to each SOAP method
Я пробовал почти каждую клиентскую библиотеку .net SOAP с самого начала .net framework, и у меня до сих пор 404.
Как я могу попасть в эту сеть JAX-WSслужба с .net SOAP-клиентом?
Примечание. Я пытался запустить wsdl с wsdl.exe и WCF . svcutil.exe , но они так же слепы для веб-службы, как и мои домашние клиенты.