Web services in 2.9

Hi,
I’m trying to connect Clover to a web services using WecServicesClient component.
I encountered some issue for connection, can you provide an example?

I attached a sceenshot of the error and below the stack from the web server (Glassfish):

[#|2011-10-19T10:35:01.350+0200|INFO|glassfish3.0.1|javax.enterprise.system.std.com.sun.enterprise.v3.services.impl|_ThreadID=30;_ThreadName=Thread-1;|[thread-pool-8080-(4)] org.apache.axis2.engine.AxisEngine [ERROR] (2011-10-19 10:35:01.349) Missing wsse:Security header in request
org.apache.axis2.AxisFault: Missing wsse:Security header in request
at org.apache.rampart.handler.RampartReceiver.setFaultCodeAndThrowAxisFault(RampartReceiver.java:186)
at org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:99)
at org.apache.axis2.engine.Phase.invokeHandler(Phase.java:340)
at org.apache.axis2.engine.Phase.invoke(Phase.java:313)
at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:262)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:168)
at org.apache.axis2.transport.http.util.RESTUtil.invokeAxisEngine(RESTUtil.java:144)
at org.apache.axis2.transport.http.util.RESTUtil.processURLRequest(RESTUtil.java:139)
at org.apache.axis2.transport.http.AxisServlet$RestRequestProcessor.processURLRequest(AxisServlet.java:837)
at org.apache.axis2.transport.http.AxisServlet.doGet(AxisServlet.java:273)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:343)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
at com.frsglobal.riskpro.thinclient.ws.services.batch.BatchWebSealSSoFilter.doFilter(BatchWebSealSSoFilter.java:60)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:277)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
at java.lang.Thread.run(Thread.java:619)
Caused by: org.apache.rampart.RampartException: Missing wsse:Security header in request
at org.apache.rampart.RampartEngine.process(RampartEngine.java:132)
at org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:92)
… 39 more
|#]

Hello,
since version 3.0 CloverETL contains graph RealWorldExamples/graph/graphWebServices.grf, that demonstrates usage of WebserviceClient component. You can download it from source forge page.
Are you able to configure the component manually?
Then, when running such graph, CloverETL would be more “talkative” and print out the real reason.

Hi,

I am not sure that the two error messages you are getting in Glassfish and CloverETL are related. The reason is that getting the list of operations from wsdl does not actually send any ws request to the server. It just downloads webservice description (wsdl) via http or https protocol.

Can you check your wsdl URL? It typically ends in ?wsdl or ?WSDL. In your case it would be [url]http;//localhost:8080/riskpro-web/services/Interfacing?wsdl[/url] or [url]http;//localhost:8080/riskpro-web/services/Interfacing?WSDL[/url]. One of the ways to make sure that the URL is correct is to put it into your web browser. You should receive back an XML file starting with something like:

<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions 
                xmlns:s="http://www.w3.org/2001/XMLSchema" 
                xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" 
                xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" 
                xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
                xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
                xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" 
                xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" 
                xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  <wsdl:types>
 ...