| Summary: | WebService consuming does not work - exception | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [JBoss] JBoss Enterprise SOA Platform 4 | Reporter: | Jiri Pechanec <jpechane> | ||||
| Component: | JBossWS | Assignee: | Jiri Pechanec <jpechane> | ||||
| Status: | CLOSED NOTABUG | QA Contact: | |||||
| Severity: | urgent | Docs Contact: | |||||
| Priority: | urgent | ||||||
| Version: | 4.2 IR6 | ||||||
| Target Milestone: | --- | ||||||
| Target Release: | 4.2 IR8 | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Unspecified | ||||||
| URL: | http://jira.jboss.org/jira/browse/SOA-169 | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2007-11-25 16:01:01 UTC | Type: | Bug | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Attachments: |
|
||||||
Link: Added: This issue depends JBESB-1281 Link: Added: This issue related SOA-84 Sorry for confusement
The problem is still there
When params
<property name="paramsLocation" value="helloworld-request-parameters" />
<property name="responseLocation" value="helloworld-response" />
are used then the exception
java.lang.ClassCastException: java.lang.String
at org.jboss.soa.esb.actions.soap.SOAPClient.process(SOAPClient.java:321)
at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.process(ActionProcessingPipeline.java:316)
at org.jboss.soa.esb.listeners.message.MessageAwareListener$1.run(MessageAwareListener.java:303)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
is thrown
Moreover when the test client is invoked as a part of test suite then the deliverSync blocks indefinitely. The test then fails with timeout, prints the message WARN [Thread-1][CourierFactory] Calling cleanup on existing couriers for identity ID-DEFAULT and hangs !!
The last lines in log are
2007-11-22 12:03:10,776 DEBUG [Thread-1][org.jboss.soa.esb.lifecycle.LifecycleResource] Cleaning up resource using factory: org.jboss.soa.esb.couriers.CourierFactory$LifecycleCourierFactory@16cd83d8 with identity ID-DEFAULT
2007-11-22 12:03:10,776 WARN [Thread-1][org.jboss.soa.esb.couriers.CourierFactory] Calling cleanup on existing couriers for identity ID-DEFAULT
2007-11-22 12:03:10,784 DEBUG [Thread-1][org.jboss.soa.esb.couriers.CourierFactory] Courier allocation stacktrace
java.lang.Exception: Courier Assignment stacktrace
at org.jboss.soa.esb.couriers.CourierFactory.registerCourier(CourierFactory.java:148)
at org.jboss.soa.esb.couriers.CourierFactory.getCourier(CourierFactory.java:134)
at org.jboss.soa.esb.couriers.CourierFactory.getMessageCourier(CourierFactory.java:96)
at org.jboss.soa.esb.client.ServiceInvoker.getCourier(ServiceInvoker.java:338)
at org.jboss.soa.esb.client.ServiceInvoker$EPRInvoker.attemptDelivery(ServiceInvoker.java:404)
at org.jboss.soa.esb.client.ServiceInvoker$EPRInvoker.access$200(ServiceInvoker.java:370)
at org.jboss.soa.esb.client.ServiceInvoker.post(ServiceInvoker.java:259)
at org.jboss.soa.esb.client.ServiceInvoker.deliverSync(ServiceInvoker.java:155)
at org.jboss.soa.esb.samples.quickstart.webservice_consumer1.WebServiceConsumerTest.postESBMessage(WebServiceConsumerTest.java:60)
at org.jboss.soa.esb.samples.quickstart.webservice_consumer1.WebServiceConsumerTest.testWSConsumer(WebServiceConsumerTest.java:71)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:604)
at org.testng.internal.InvokeMethodRunnable.run(InvokeMethodRunnable.java:36)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
at java.util.concurrent.FutureTask.run(FutureTask.java:123)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
The whole log is attached
Attachment: Added: test.log Since 4.2.1, all ESB components are using the MessagePayloadProxy class to access the message payload (http://labs.jboss.org/jbossesb/docs/4.2.1GA/javadoc/esb/org/jboss/soa/esb/message/MessagePayloadProxy.html). So, you shouldn't define "paramsLocation" and "responseLocation" for the payload get and set locations for the action. You shouldn't need to define anything at all, but if the input params are not in the default location you need to configure the "get-payload-location" property and if the response is not to be set back in the default location you need to set the "set-payload-location" property. Example of overriding default get/set location (*normally not required*): <property name="get-payload-location" value="helloworld-request-parameters" /> <property name="set-payload-location" value="helloworld-response" /> Link: Removed: This issue related SOA-84 |
Date of First Response: 2007-11-22 06:34:02 project_key: SOA When trying to consume Web Service, the follwoing exception is thrown java.lang.ClassCastException: java.lang.String at org.jboss.soa.esb.actions.soap.SOAPClient.process(SOAPClient.java:321) at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.process(ActionProcessingPipeline.java:273) at org.jboss.soa.esb.listeners.message.MessageAwareListener$1.run(MessageAwareListener.java:303) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) at java.lang.Thread.run(Thread.java:595) Example is webservice_consumer quickstart