【发布时间】:2014-12-01 10:01:55
【问题描述】:
我有一个 jax-ws 网络服务类,其网络操作写成:
public String processIncomingMsg(int msgType, String senderCB, int receiveCB,
int ussdOpType, String msIsdn, String serviceCode,
int codeScheme, String ussdString,
NamedParameterList extenionInfo) {
该服务部署在 glassfish 网络服务器中,因此我可以访问http://localhost:8080/AppName/ReceiveUSSDNotifications?Tester,这是一种用于调用网络服务操作的表单。当我输入receiveCB时,方法参数之一,为0XFFFFFF。我在 glassfish 服务器日志和
WS00041: Service invocation threw an exception with message : null; Refer to the server log for more details
Exceptions details : java.lang.IllegalArgumentException
javax.servlet.ServletException: java.lang.IllegalArgumentException at org.glassfish.webservices.monitoring.WebServiceTesterServlet.doPost(WebServiceTesterServlet.java:342)
at org.glassfish.webservices.monitoring.WebServiceTesterServlet.invoke(WebServiceTesterServlet.java:106)
at org.glassfish.webservices.JAXWSServlet.doPost(JAXWSServlet.java:157)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:318)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
at ...
作为来自浏览器的响应(错误日志)。我想知道可能出了什么问题,因为0xffffff 只是一个整数的十六进制表示,所以不应该有转换问题。
【问题讨论】:
-
receiveiveCb是如何传递给你的方法的?您确定它是0xFFFFFF而不是"0xFFFFFF"(字符串表示形式)。请添加更多代码。方法原型和堆栈堆栈对于我们来说是非常糟糕的信息。 -
我使用位于
http://localhost:8080/AppName/ReceiveUSSDNotifications?Tester的表单将参数传递给processIncomingMsgreceiveCB只是我提供的众多参数之一。还有其他整数文字作为基数 10 整数提供,它们似乎可以作为整数传递给方法。 -
仍然没有足够的信息。
-
我提供了方法定义、调用机制和两个错误日志输出,一个来自控制台,一个来自浏览器。我不知道您可能还需要什么其他信息,因为您没有指定它。
标签: java web-services soap glassfish jax-ws