Hi,
We have noticed that when sending Hello messages to the discovery proxy we
need to set soap headers wsdlURI and serviceName in the namespace "http://*
www.wso2.org*/ws/discovery". The discovery client for axis2 services adds
these, so the Hello messages works fine. But we were trying to integrate
ws-discovery with JAX-WS services for which CXF provides it's own
ws-discovery client. This client does not include the above said headers
(obviously). GReg fails to process this request and throws following
exception. [1]
It seems we have to infer the service name and wsdl location using the info
we can receive through spec-compliant message content. But as I've seen we
can not infer the wsdl urls for jax-ws services since the Hello request
does not contain the fully qualified url in wsd:XAddrs (ex. -
/hello_world). [3] This is a bit strange!
I have included the ws-dd Hello soap requests of the client of axis2
services [2], and the client for jax-ws services [2] for comparison.
[1] ERROR {org.wso2.carbon.discovery.proxy.DiscoveryProxy} - Error while
persisting the service description
java.lang.NullPointerException
at
org.wso2.carbon.governance.api.common.GovernanceArtifactManager.setContent(GovernanceArtifactManager.java:541)
at
org.wso2.carbon.governance.api.common.GovernanceArtifactManager.addGovernanceArtifact(GovernanceArtifactManager.java:184)
at
org.wso2.carbon.governance.api.services.ServiceManager.addService(ServiceManager.java:116)
at
org.wso2.carbon.discovery.util.DiscoveryServiceUtils.addService(DiscoveryServiceUtils.java:157)
at
org.wso2.carbon.discovery.proxy.DiscoveryProxy$1.run(DiscoveryProxy.java:89)
[2]
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
<mns:serviceName xmlns:mns="http://www.wso2.org/ws/discovery
">echo</mns:serviceName>
<mns:wsdlURI xmlns:mns="http://www.wso2.org/ws/discovery">
http://10.100.0.187:9763/services/echo?wsdl</mns:wsdlURI>
<wsa:To>http://localhost:8080/services/DiscoveryProxy</wsa:To>
<wsa:ReplyTo>
<wsa:Address>http://www.w3.org/2005/08/addressing/none
</wsa:Address>
</wsa:ReplyTo>
<wsa:MessageID>urn:uuid:eb8f2089-f3cd-44aa-9825-b0a6c2c83da2</wsa:MessageID>
<wsa:Action>
http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01/Hello</wsa:Action>
</soapenv:Header>
<soapenv:Body>
<wsd:Hello xmlns:wsd="
http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01">
<wsa:EndpointReference xmlns:wsa="
http://www.w3.org/2005/08/addressing">
<wsa:Address>urn:uuid:a776fc36-26f0-4435-b22b-5ea5925d1de2</wsa:Address>
</wsa:EndpointReference>
<wsd:Types xmlns:axis2ns2="
http://echo.services.core.carbon.wso2.org">axis2ns2:echoPortType</wsd:Types>
<wsd:Scopes>
http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01/DefaultScope
</wsd:Scopes>
<wsd:XAddrs>https://10.100.0.187:9443/services/echo
http://10.100.0.187:9763/services/echo</wsd:XAddrs>
<wsd:MetadataVersion>1</wsd:MetadataVersion>
</wsd:Hello>
</soapenv:Body>
</soapenv:Envelope>
[3]
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:wsa="http://www.w3.org/2005/08/addressing"
xmlns:tns="
http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01">
<soap:Header>
<wsa:Action>
http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01/Hello</wsa:Action>
<wsa:MessageID>urn:uuid:5063d2d5-4c8c-4f86-b1a0-9c3a17421af2</wsa:MessageID>
<wsa:To>http://localhost:8080/services/DiscoveryProxy</wsa:To>
<wsa:ReplyTo>
<wsa:Address>http://www.w3.org/2005/08/addressing/none
</wsa:Address>
</wsa:ReplyTo>
</soap:Header>
<soap:Body>
<ns2:Hello xmlns="http://www.w3.org/2005/08/addressing"
xmlns:ns2="
http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01">
<EndpointReference>
<Address>urn:uuid:e67f250f-9402-4c53-bb1f-da1ffe985ebc</Address>
</EndpointReference>
<ns2:Types xmlns:ns3="http://server.hw.demo/
">ns3:HelloWorld</ns2:Types>
<ns2:Scopes/>
<ns2:XAddrs>/hello_world</ns2:XAddrs>
<ns2:MetadataVersion>1</ns2:MetadataVersion>
</ns2:Hello>
</soap:Body>
</soap:Envelope>
--
*Kasun Gajasinghe*
Software Engineer;
Development Technologies Team, WSO2 Inc.; http://wso2.com
,
*email: **kasung AT spamfree wso2.com
** cell: **+94 (77) 678-0813*
*linked-in: *http://lk.linkedin.com/in/gajasinghe
*
*
*blog: **http://kasunbg.org* <http://kasunbg.org>
*
twitter: **http://twitter.com/kasunbg* <http://twitter.com/kasunbg>
*
*
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture