In my current project I have to connect to a JAX-WS web service from a .net client.
The JAX-WS web service runs on a tomcat server. I'm able to test and use the Web Service with a simple ruby script:
# 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"
I can also connect with SoapUI (a SOAP gui testing tool), but no matter how hard I try I cannot seem to hit the web service with a .net Soap Client of any kind.
Also I am unable to view the wsdl with the browser. Almost all errors are 404s. I even went so far as to try and precisely mimic the request headers coming from the ruby script in my .net code, but to no avail. I also deactivated my firewall, just in case.
The JAX-WS service is started from a bean when the website starts up:
<bean class="开发者_运维知识库org.springframework.remoting.jaxws.SimpleJaxWsServiceExporter">
<property name="baseAddress" value="http://localhost:8080/services/"/>
</bean>
<bean id="RPCServiceEndpoint" class="com.package.RPCServiceEndpoint"/>
Here’s the annotations RPCServiceEndpoint.java uses:
@WebService(serviceName="RPCService")
@SOAPBinding(style=Style.RPC)
@Autowired applied to constructor
@WebMethod applied to each SOAP method
I’ve tried almost every SOAP client .net library since the beginning of the .net framework and I still get 404s.
How can I hit this JAX-WS web service with a .net SOAP client?
Note: I've tried to hit the wsdl with wsdl.exe and WCF's svcutil.exe, but they are just as blind to the web service as my homemade clients are.
精彩评论