The server did not recognise the action which i...

本文介绍了当使用Axis生成的clientcode调用WebService时遇到的问题及解决方案。主要问题是调用时服务器无法识别收到的动作,通过在wsdl文件的soapAction中设置OperationName,并重新生成服务端和客户端代码来解决。

    使用axis生成的client code调用web service,ok;用另一个web service 调用这个web service,failed。抛出异常:The server did not recognise the action which it received,信息如下:

org.apache.axis2.AxisFault: The server did not recognise the action which it received: 
at org.apache.axis2.handlers.addressing.AddressingInFaultHandler.invoke(AddressingInFaultHandler.java:114)
at org.apache.axis2.engine.Phase.invoke(Phase.java:318)
at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:251)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:160)
at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:364)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:417)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:539)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:520)
at org.apache.axis2.rpc.client.RPCServiceClient.invokeBlocking(RPCServiceClient.java:102)
at org.sanfan.cai.connector.ProcessServerServiceConnector.send(ProcessServerServiceConnector.java:108)
at org.sanfan.cai.action.SubmissionThread.run(SubmissionThread.java:47)

    解决办法:在wsdl文件的soapAction中设置OperationName,然后使用axis命令重新生成服务端和客户端代码,这样server就能找到这个action了。

<wsdlsoap:operation soapAction=""/>

 

 

转载于:https://my.oschina.net/u/724306/blog/112123

==9254== Memcheck, a memory error detector ==9254== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==9254== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==9254== Command: /system/lib/libjrtp.so ==9254== disInstr(arm): unhandled instruction: 0x464C457F cond=4(0x4) 27:20=100(0x64) 4:4=1 3:0=15(0xF) ==9254== valgrind: Unrecognised instruction at address 0x108000. ==9254== at 0x108000: ??? (in /system/lib/libjrtp.so) ==9254== by 0xFFFFFFFF: ??? ==9254== Your program just tried to execute an instruction that Valgrind ==9254== did not recognise. There are two possible reasons for this. ==9254== 1. Your program has a bug and erroneously jumped to a non-code ==9254== location. If you are running Memcheck and you just saw a ==9254== warning about a bad jump, it's probably your program's fault. ==9254== 2. The instruction is legitimate but Valgrind doesn't handle it, ==9254== i.e. it's Valgrind's fault. If you think this is the case or ==9254== you are not sure, please let us know and we'll try to fix it. ==9254== Either way, Valgrind will now raise a SIGILL signal which will ==9254== probably kill your program. ==9254== ==9254== Process terminating with default action of signal 4 (SIGILL): dumping core ==9254== Illegal opcode at address 0x108000 ==9254== at 0x108000: ??? (in /system/lib/libjrtp.so) ==9254== by 0xFFFFFFFF: ??? ==9254== ==9254== HEAP SUMMARY: ==9254== in use at exit: 0 bytes in 0 blocks ==9254== total heap usage: 0 allocs, 0 frees, 0 bytes allocated ==9254== ==9254== All heap blocks were freed -- no leaks are possible ==9254== ==9254== For counts of detected and suppressed errors, rerun with: -v ==9254== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) Illegal instruction
最新发布
07-09
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值