java axis调用.net webservice 错误,在线等!

rocky0625 2011-06-12 01:16:10

public String sendSms(String compCode, String userName, String userPwd,
String sendMsgXml, int withfoloow) {
String strRtn = null;
try {

Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(
"http://61.145.168.234:90/SMS_Interface.asmx"));
call.setUseSOAPAction(true);
call.setSOAPActionURI("http://tempuri.org/Sms_SendEx");
// 命名空间:http://tempuri.org/,方法名称:Sms_SendEx
call
.setOperationName(new QName("http://tempuri.org/",
"Sms_SendEx"));

/**
* addParameter():的第一个参数不能为" " 或者 "null" 字符串的个数和名称要与new Object[]对应
*/
call.addParameter(new QName("http://tempuri.org/", "CompCode"),
XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter(new QName("http://tempuri.org/", "UserName"),
XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter(new QName("http://tempuri.org/", "UserPwd"),
XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter(new QName("http://tempuri.org/", "SendMsgXML"),
XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter(new QName("http://tempuri.org/", "withfollow"),
XMLType.XSD_STRING, ParameterMode.IN);

call.setReturnType(XMLType.SOAP_STRING);

strRtn = call.invoke(
new Object[] { compCode, userName, userPwd, sendMsgXml,
withfoloow }).toString();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (RemoteException e) {
e.printStackTrace();
} catch (ServiceException e) {
e.printStackTrace();
}
return strRtn;

}

使用这种方式来调用webservice接口,会报如下错误:
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Client
faultSubcode:
faultString: 服务器无法读取请求。 ---> XML 文档(1, 734)中有错误。 ---> 输入字符串的格式不正确。
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:服务器无法读取请求。 ---> XML 文档(1, 734)中有错误。 ---> 输入字符串的格式不正确。
然后又换了另外一种参数传递方式:

call.addParameter("CompCode",
XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter( "UserName",
XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter( "UserPwd",
XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter("SendMsgXML",
XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter( "withfollow",
XMLType.XSD_STRING, ParameterMode.IN);

又报如下错误:
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server
faultSubcode:
faultString: 服务器无法处理请求。 ---> 值不能为空。
参数名: input
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:服务器无法处理请求。 ---> 值不能为空。

求高手。求解决,只有10分了。!在线等
...全文
212 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qrxlyy 2012-05-13
  • 打赏
  • 举报
回复
有没有人解决这个问题了呀 求解答呀
KAMCHIHAU 2011-06-12
  • 打赏
  • 举报
回复
最后都搞不好,就叫.NET那边传份纯文本过来算了,

不见得纯文就本比XML那些慢及繁
rocky0625 2011-06-12
  • 打赏
  • 举报
回复
顶顶!!!!!!

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧