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 Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture