Expand my Community achievements bar.

SOLVED

Dynamic WSDL binding Using with CXF webservice

Avatar

Level 3

Hello Everyone,

Good evening alll......

As i got requirement like to implement "Access the Dynamic WSDL binding with CXF Web Service" and tried  i could get only theory information only not code.

Could you please share me if any one already worked? Suggest me your thoughts if possible pls.

Thanks in advance.

 

Thanks,
Venkatesham G

1 Accepted Solution

Avatar

Correct answer by
Level 10

See this community write up that talks about how to create Java proxy classes that consumes a 3rd party SOAP stack using Apache CFX. The Java proxy classes are bundled into an OSGi bundle and placed into AEM as an Active bundle. Now AEM is able to invoke a 3rd party SOAP-based web service. 

https://helpx.adobe.com/experience-manager/using/creating-cxf-bundles-consume-web.html

this represents the best way to consume SOAP stacks from AEM. 

View solution in original post

3 Replies

Avatar

Correct answer by
Level 10

See this community write up that talks about how to create Java proxy classes that consumes a 3rd party SOAP stack using Apache CFX. The Java proxy classes are bundled into an OSGi bundle and placed into AEM as an Active bundle. Now AEM is able to invoke a 3rd party SOAP-based web service. 

https://helpx.adobe.com/experience-manager/using/creating-cxf-bundles-consume-web.html

this represents the best way to consume SOAP stacks from AEM. 

Avatar

Level 3

Thanks for giving reply...

Actually i have to develop CXF client to consume the service by CXF and more over  WSDL is very dynamic(my requirement is saying).

So i wrote below code but it is giving exception.

       JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();                
        Client client = dcf.createClient("http://www.webservicex.net/globalweather.asmx?wsdl");
        String[] params = new String[2];
        params[0] = "Ottawa";
        params[1] = "canada";
        List<String> list = Arrays.asList(params);
        
        Object obj = client.invoke("GetWeather",list);

 

Exception :

Exception in thread "main" java.lang.RuntimeException: Could not find conduit initiator for address: http://www.webservicex.net/globalweather.asmx and transport: http://schemas.xmlsoap.org/soap/http.

 

In the Apache CXF release it is saying like use XMLStream Reader and XMLStreamWriter corresponding DataReader and DataWriter for Dyanmic WSDL binding where as JAXB is not supporting.

Thanks in advance.

Avatar

Level 3

hello ...

Please suggest me how to resolve above issue....

Thanks in advance.

Venkatesham G