« Return to Thread: CXF outbound endpoint & MULE_ERROR-84

Re: CXF outbound endpoint & MULE_ERROR-84

by Danhenry :: Rate this Message:

Reply to Author | View in Thread

I ran into this exact same problem and also resolved it by starting over.

The problem I found was that I originally run wsdl2java using the latest version of cxf, but then used those classes with mule 2.0.2 which uses cxf version 2.0.6.  So the solutions was to simply rerun wsdl2java using the version corresponding to the one included with the mule distribution.

Hope this helps someone else.

Thanks,

Dan Henry


Denis Kranjcec wrote:
Hi,

I have problem with CXF outbound endpoint that calls .NET web service -
error is MULE_ERROR-84.

This is mule config for testing:
<mule xmlns="http://www.mulesource.org/schema/mule/core/2.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:spring="http://www.springframework.org/schema/beans"
        xmlns:cxf="http://www.mulesource.org/schema/mule/cxf/2.0"
        xmlns:stdio="http://www.mulesource.org/schema/mule/stdio/2.0"
        xsi:schemaLocation="
               http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
               http://www.mulesource.org/schema/mule/core/2.0
http://www.mulesource.org/schema/mule/core/2.0/mule.xsd
               http://www.mulesource.org/schema/mule/cxf/2.0
http://www.mulesource.org/schema/mule/cxf/2.0/mule-cxf.xsd
               http://www.mulesource.org/schema/mule/stdio/2.0
http://www.mulesource.org/schema/mule/stdio/2.0/mule-stdio.xsd">
        <model name="CxfExample">
                <service name="isspService">
                        <inbound>
                                <stdio:inbound-endpoint system="IN" />
                        </inbound>
                        <component
       
class="hr.srce.cp.sandbox.integration.mule.ws.IsspTestComponentImpl" />
                        <outbound>
                                <outbound-pass-through-router>
                                        <cxf:outbound-endpoint
       
address="http://161.53.XXX.YYY/ISVURazmjena_Test/ISVURazmjena.asmx"
       
clientClass="hr.srce.cp.sandbox.integration.mule.ws.issp.cxf.client.ISVU
Razmjena_Service"
                                                operation="SendISVUData"
                                                wsdlPort="ISVURazmjena"
       
wsdlLocation="http://161.53.XXX.YYY/ISVURazmjena_Test/ISVURazmjena.asmx?
WSDL"
                                                synchronous="true">
                                        </cxf:outbound-endpoint>
                                </outbound-pass-through-router>
                        </outbound>
                </service>
        </model>
</mule>

For testing purposes, IsspTestComponentImpl ignores message received
from system.in and send Object[] with 3 parameters from WS.

This is method implementation:
   public Object[] process( String text ) {
      Object[] rez = new Object[3];
      rez[0] = "param0";
      rez[1] = "param1";
      rez[2] = "param2";
      return rez;
   }

This is error that mule throws:
DEBUG Message being sent to:
http://161.53.XXX.YYY/ISVURazmjena_Test/ISVURazmjena.asmx Message
payload:
{ISVUPodaci[<xml>Ovo bi trebao biti XML s ISVU
podacima</xml>,isvurazmjena,***********]}
 outbound transformer is: []
DEBUG MuleSession has received asynchronous event on:
DefaultOutboundEndpoint{endpointUri=http://161.53.XXX.YYY/ISVURazmjena_T
est/ISVURazmjena.asmx, connector=CxfConnector{this=1e2670b,
started=true, initialised=true, name='connector.cxf.0', disposed=false,
numberOfConcurrentTransactedReceivers=4,
createMultipleTransactedReceivers=true, connected=true,
supportedProtocols=[cxf, cxf:http, cxf:https, cxf:jms, cxf:vm,
cxf:servlet], serviceOverrides=null}, transformer=[],
name='endpoint.http.161.53.XXX.YYY.ISVURazmjena.Test.ISVURazmjena.asmx',
properties={wsdlLocation=http://161.53.XXX.YYY/ISVURazmjena_Test/ISVURaz
mjena.asmx?WSDL, operation=SendISVUData, wsdlPort=ISVURazmjena,
clientClass=hr.srce.cp.sandbox.integration.mule.ws.issp.cxf.client.ISVUR
azmjena_Service}, transactionConfig=Transaction{factory=null,
action=NEVER, timeout=0}, filter=null, deleteUnacceptedMessages=false,
securityFilter=null, synchronous=true, initialState=started,
remoteSync=false, remoteSyncTimeout=3000, endpointEncoding=UTF-8}
DEBUG Creating event with data: [Ljava.lang.Object;, for endpoint:
DefaultOutboundEndpoint{endpointUri=http://161.53.XXX.YYY/ISVURazmjena_T
est/ISVURazmjena.asmx, connector=CxfConnector{this=1e2670b,
started=true, initialised=true, name='connector.cxf.0', disposed=false,
numberOfConcurrentTransactedReceivers=4,
createMultipleTransactedReceivers=true, connected=true,
supportedProtocols=[cxf, cxf:http, cxf:https, cxf:jms, cxf:vm,
cxf:servlet], serviceOverrides=null}, transformer=[],
name='endpoint.http.161.53.XXX.YYY.ISVURazmjena.Test.ISVURazmjena.asmx',
properties={wsdlLocation=http://161.53.XXX.YYY/ISVURazmjena_Test/ISVURaz
mjena.asmx?WSDL, operation=SendISVUData, wsdlPort=ISVURazmjena,
clientClass=hr.srce.cp.sandbox.integration.mule.ws.issp.cxf.client.ISVUR
azmjena_Service}, transactionConfig=Transaction{factory=null,
action=NEVER, timeout=0}, filter=null, deleteUnacceptedMessages=false,
securityFilter=null, synchronous=true, initialState=started,
remoteSync=false, remoteSyncTimeout=3000, endpointEncoding=UTF-8}
DEBUG dispatching event: MuleEvent:
fee838c0-7902-11dd-b848-393439fa45a3, sync=false, stop processing=false,
DefaultOutboundEndpoint{endpointUri=http://161.53.XXX.YYY/ISVURazmjena_T
est/ISVURazmjena.asmx, connector=CxfConnector{this=1e2670b,
started=true, initialised=true, name='connector.cxf.0', disposed=false,
numberOfConcurrentTransactedReceivers=4,
createMultipleTransactedReceivers=true, connected=true,
supportedProtocols=[cxf, cxf:http, cxf:https, cxf:jms, cxf:vm,
cxf:servlet], serviceOverrides=null}, transformer=[],
name='endpoint.http.161.53.XXX.YYY.ISVURazmjena.Test.ISVURazmjena.asmx',
properties={wsdlLocation=http://161.53.XXX.YYY/ISVURazmjena_Test/ISVURaz
mjena.asmx?WSDL, operation=SendISVUData, wsdlPort=ISVURazmjena,
clientClass=hr.srce.cp.sandbox.integration.mule.ws.issp.cxf.client.ISVUR
azmjena_Service}, transactionConfig=Transaction{factory=null,
action=NEVER, timeout=0}, filter=null, deleteUnacceptedMessages=false,
securityFilter=null, synchronous=true, initialState=started,
remoteSync=false, remoteSyncTimeout=3000, endpointEncoding=UTF-8}
DEBUG Adding session header to message:
ID=fee663fd-7902-11dd-b848-393439fa45a3
DEBUG Applying transformer Base64Encoder
(org.mule.transformer.codec.Base64Encoder)
DEBUG Object before transform: ID=fee663fd-7902-11dd-b848-393439fa45a3
DEBUG Object after transform:
SUQ9ZmVlNjYzZmQtNzkwMi0xMWRkLWI4NDgtMzkzNDM5ZmE0NWEz
DEBUG The transformed object is of expected type. Type is: String
DEBUG Borrowing a dispatcher for endpoint:
http://161.53.XXX.YYY/ISVURazmjena_Test/ISVURazmjena.asmx
DEBUG Borrowed a dispatcher for endpoint:
http://161.53.XXX.YYY/ISVURazmjena_Test/ISVURazmjena.asmx =
CxfMessageDispatcher{this=131de9b,
endpoint=http://161.53.XXX.YYY/ISVURazmjena_Test/ISVURazmjena.asmx,
disposed=false}
DEBUG Borrowed dispatcher: CxfMessageDispatcher{this=131de9b,
endpoint=http://161.53.XXX.YYY/ISVURazmjena_Test/ISVURazmjena.asmx,
disposed=false}
DEBUG new copy of message for Thread[isspService.4,5,main]
DEBUG Returning dispatcher for endpoint:
http://161.53.XXX.YYY/ISVURazmjena_Test/ISVURazmjena.asmx =
CxfMessageDispatcher{this=131de9b,
endpoint=http://161.53.XXX.YYY/ISVURazmjena_Test/ISVURazmjena.asmx,
disposed=false}
DEBUG new copy of message for
Thread[connector.cxf.0.dispatcher.3,5,main]
DEBUG Connecting: CxfMessageDispatcher{this=131de9b,
endpoint=http://161.53.XXX.YYY/ISVURazmjena_Test/ISVURazmjena.asmx,
disposed=false}
ERROR
************************************************************************
********
Message               : Initialisation Failure: wrong number of
arguments
Type                  : org.mule.transport.ConnectException
Code                  : MULE_ERROR-84
JavaDoc               :
http://mule.mulesource.org/docs/apidocs/org/mule/transport/ConnectExcept
ion.html
Object                : CxfMessageDispatcher{this=131de9b,
endpoint=http://161.53.XXX.YYY/ISVURazmjena_Test/ISVURazmjena.asmx,
disposed=false}
************************************************************************
********
Exception stack is:
1. wrong number of arguments (java.lang.IllegalArgumentException)
  sun.reflect.NativeMethodAccessorImpl:-2 (null)
2. Initialisation Failure: wrong number of arguments
(org.mule.transport.ConnectException)
  org.mule.transport.AbstractConnectable:222
(http://mule.mulesource.org/docs/apidocs/org/mule/transport/ConnectExcep
tion.html)
************************************************************************
********
Root Exception stack trace:
java.lang.IllegalArgumentException: wrong number of arguments
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at
org.mule.transport.cxf.ClientWrapper.createClientFromClass(ClientWrapper
.java:289)
        at
org.mule.transport.cxf.ClientWrapper.initialize(ClientWrapper.java:100)
        at
org.mule.transport.cxf.CxfMessageDispatcher.doConnect(CxfMessageDispatch
er.java:75)
        at
org.mule.transport.AbstractConnectable.connect(AbstractConnectable.java:
201)
        at
org.mule.transport.SingleAttemptConnectionStrategy.doConnect(SingleAttem
ptConnectionStrategy.java:25)
        at
org.mule.transport.AbstractConnectionStrategy.connect(AbstractConnection
Strategy.java:108)
        at
org.mule.transport.AbstractConnectable.connect(AbstractConnectable.java:
190)
        at
org.mule.transport.SingleAttemptConnectionStrategy.doConnect(SingleAttem
ptConnectionStrategy.java:25)
        at
org.mule.transport.AbstractConnectionStrategy.connect(AbstractConnection
Strategy.java:108)
        at
org.mule.transport.AbstractMessageDispatcher$Worker.run(AbstractMessageD
ispatcher.java:261)
        at org.mule.work.WorkerContext.run(WorkerContext.java:310)
        at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWor
ker(ThreadPoolExecutor.java:1061)
        at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker
.run(ThreadPoolExecutor.java:575)
        at java.lang.Thread.run(Thread.java:619)

************************************************************************
********



CXF client works fine when I'm using it from standalone app.


Similar example works fine when WS behind outbound endpoint is CXF WS.


What am I doing wrong?

Thanks in advance.

Regards,
Denis

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email

 « Return to Thread: CXF outbound endpoint & MULE_ERROR-84