【发布时间】:2011-02-20 14:39:40
【问题描述】:
我有一个 Axis2 构建的 Java Web 服务,它可以很好地与 Soap UI 和使用 CXF/Axis 客户端配合使用。我还需要让它与使用 Microsoft Visual Studio 2008 构建的 .Net/C# 客户端一起使用。
当我尝试通过 Microsoft Visual Studio 客户端使用该服务拨打电话时,它失败了。
请查看 Visual Studio 代码:-
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using ConsumeNameWorldwideWebService.NameWorldwideService;
namespace ConsumeNameWorldwideWebService
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
HIqualityNameWorldwidePortTypeClient client = new HIqualityNameWorldwidePortTypeClient();
validateFamilyNameRequest req = new validateFamilyNameRequest();
req.input = "Kumar";
req.maxNumberOfSuggestions = 2;
DetailedNameResult res = client.validateFamilyName("Kumar",null,2);
}
}
}
客户端异常:-
System.ServiceModel.FaultException 是 未处理的消息 =“未知”
来源="mscorlib" 堆栈跟踪: 服务器堆栈跟踪: 在 System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime 操作,ProxyRpc&rpc) 在 System.ServiceModel.Channels.ServiceChannel.Call(字符串 动作,单向布尔值, ProxyOperationRuntime 操作, Object[] 输入,Object[] 输出,TimeSpan 暂停) 在 System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage 方法调用、代理操作运行时 手术) 在 System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage 信息) 在 [0] 处重新抛出异常: 在 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) 在 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(消息数据& msgData,Int32 类型) 在 ConsumeNameWorldwideWebService.NameWorldwideClient.HIqualityNameWorldwidePortType.interpret(interpretRequest 要求) 在 ConsumeNameWorldwideWebService.NameWorldwideClient.HIqualityNameWorldwidePortTypeClient.ConsumeNameWorldwideWebService.NameWorldwideClient.HIqualityNameWorldwidePortType.interpret(interpretRequest 请求)在 c:\work\consumenameworldwidewebservice\consumenameworldwidewebservice\service 参考\名称worldwideclient\reference.cs:line 1131 在 ConsumeNameWorldwideWebService.Form1.button1_Click(对象 发件人,EventArgs e) 在 C:\work\ConsumeNameWorldwideWebService\ConsumeNameWorldwideWebService\Form1.cs:line 33 在 System.Windows.Forms.Control.OnClick(EventArgs e) 在 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs 事件) 在 System.Windows.Forms.Control.WmMouseUp(消息& m,MouseButtons 按钮,Int32 点击) 在 System.Windows.Forms.Control.WndProc(消息& 米) 在 System.Windows.Forms.ButtonBase.WndProc(消息& 米) 在 System.Windows.Forms.Button.WndProc(消息& 米) 在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(消息& 米) 在 System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr 参数) 在 System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& 味精) 在 System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID,Int32 原因,Int32 pvLoopData) 在 System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 原因,ApplicationContext 上下文) 在 System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 原因,ApplicationContext 上下文) 在 ConsumeNameWorldwideWebService.Program.Main() 在 C:\work\ConsumeNameWorldwideWebService\ConsumeNameWorldwideWebService\Program.cs:line 18 在 System.AppDomain._nExecuteAssembly(程序集 程序集,字符串 [] 参数) 在 Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() 在 System.Threading.ExecutionContext.Run(ExecutionContext 执行上下文,上下文回调 回调,对象状态) 在 System.Threading.ThreadHelper.ThreadStart() 内部异常:
服务器端异常:-
java.lang.IllegalArgumentException 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native 方法) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl。 爪哇:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:597) 在 org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.jav 答:194) 在 org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic (RPCMessageReceiver.java:102) 在 org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusines sLogic(AbstractInOutMessageReceiver.java:40) 在 org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMe ssageReceiver.java:114) 在 org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:173) 在 org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostReq uest(HTTPTransportUtils.java:167) 在 org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:1 42) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:647) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl icationFilterChain.java:269) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF ilterChain.java:188) 在 org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:129)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF ilterChain.java:188) 在 com.hi.openname.filter.OpenNameFilter.doFilter(OpenNameFilter.java:46 ) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl icationFilterChain.java:215) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF ilterChain.java:188) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV alve.java:213) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextV alve.java:172) 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j 艾娃:127) 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j 艾娃:117) 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal ve.java:108) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav 答:174) 在 org.apache.coyote.http11.Http11Processor.process(Http11Processor.java :873) 在 org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.p 进程连接(Http11BaseProtocol.java:665) 在 org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo int.java:528) 在 org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol lowerWorkerThread.java:81) 在 org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP ool.java:689) 在 java.lang.Thread.run(Thread.java:619) 2011-02-20 15:31:34,837 [http-8080-Processor25] 错误 轴引擎 - org.apache.axis2.AxisFault 在 org.apache.axis2.AxisFault.makeFault(AxisFault.java:430) 在 org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic (RPCMessageReceiver.java:161) 在 org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusines sLogic(AbstractInOutMessageReceiver.java:40) 在 org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMe ssageReceiver.java:114) 在 org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:173) 在 org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostReq uest(HTTPTransportUtils.java:167) 在 org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:1 42) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:647) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl icationFilterChain.java:269) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF ilterChain.java:188) 在 org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:129)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF ilterChain.java:188) 在 com.hi.openname.filter.OpenNameFilter.doFilter(OpenNameFilter.java:46 ) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl icationFilterChain.java:215) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF ilterChain.java:188) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV alve.java:213) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextV alve.java:172) 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j 艾娃:127) 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j 艾娃:117) 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal ve.java:108) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav 答:174) 在 org.apache.coyote.http11.Http11Processor.process(Http11Processor.java :873) 在 org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.p 进程连接(Http11BaseProtocol.java:665) 在 org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo int.java:528) 在 org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol lowerWorkerThread.java:81) 在 org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP ool.java:689) 在 java.lang.Thread.run(Thread.java:619) 造成的: java.lang.IllegalArgumentException 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native 方法) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl。 爪哇:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:597) 在 org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.jav 答:194) 在 org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic (RPCMessageReceiver.java:102) ... 27 更多
任何帮助将不胜感激。
【问题讨论】:
-
你能发布你的wsdl的相关部分吗? C# 和 Axis2 有时对 wsdls 的解释略有不同。
标签: c# web-services axis2