[switchyard-issues] [JBoss JIRA] Created: (SWITCHYARD-298) Reference to SOAP service is not properly bound

Jiri Pechanec (JIRA) jira-events at lists.jboss.org
Fri Jun 17 01:55:23 EDT 2011


Reference to SOAP service is not properly bound
-----------------------------------------------

                 Key: SWITCHYARD-298
                 URL: https://issues.jboss.org/browse/SWITCHYARD-298
             Project: SwitchYard
          Issue Type: Bug
          Components: component-soap
    Affects Versions: 0.1
         Environment: JBoss AS 7
            Reporter: Jiri Pechanec
            Priority: Critical


See attached example.

It contains multiple services - one is defined serve as a web service provider (ErrorService), another ProxyService as a web service consumer. The ProxyService uses a Reference to SOAP endpoint. Unfortunately when I try to invoke it I get an exception

07:43:40,652 INFO  [org.switchyard.component.soap.InboundHandler] (MSC service thread 1-13) WebService published at http://10.34.3.135:9091/ErrorServiceService
07:43:47,513 INFO  [stdout] (Thread-27) Going through proxy
07:43:47,516 ERROR [stderr] (Thread-27) java.lang.reflect.UndeclaredThrowableException
07:43:47,517 ERROR [stderr] (Thread-27)         at $Proxy25.echoTwoWay(Unknown Source)
.
.
.
07:43:47,533 ERROR [stderr] (Thread-27) Caused by: org.switchyard.component.bean.BeanComponentException: Bean Component invocation failure.  Operation 'echoTwoWay' is not defined on Service 'RemoteService'.
07:43:47,533 ERROR [stderr] (Thread-27)         at org.switchyard.component.bean.ClientProxyBean$ClientProxyInvocationHandler.createExchange(ClientProxyBean.java:337)
07:43:47,533 ERROR [stderr] (Thread-27)         at org.switchyard.component.bean.ClientProxyBean$ClientProxyInvocationHandler.invoke(ClientProxyBean.java:290)
07:43:47,533 ERROR [stderr] (Thread-27)         ... 53 more

With debugger I identified that the Reference is registered as a base service, not WSDL service
Thread-27[1] dump service.getInterface()
 service.getInterface() = {
    org.switchyard.metadata.BaseService._type: "esb"
    org.switchyard.metadata.BaseService._operations: instance of java.util.HashSet(id=6565)

}
Thread-27[1] dump service.getInterface().getOperations()
 service.getInterface().getOperations() = {
    serialVersionUID: -5024744406713321676
    map: instance of java.util.HashMap(id=6567)
    PRESENT: instance of java.lang.Object(id=6568)
}
Thread-27[1] print service.getInterface().getOperations()
 service.getInterface().getOperations() = "[process{IN_OUT}]"

It seems that org/switchyard/extensions/wsdl/WSDLService requires WSDL port name to be set in the URI but I have not found any case in the code when the port is set If it is expected that this is set in wsdl element of binding then it will break reading of file-based wsdl.


--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the switchyard-issues mailing list