java连接.net的webservice问题

brooklyng60 2009-10-24 10:28:04
服务器端是.net编写的webservice,用C#的client调用没问题,用 JAVA调用怎么就报未实例化了啊,网上查了 大半天也没找出来,跟踪发现是参数没传进去,但是看网上的代码 都是那样传的参数啊 ,都还说没问题,贴出来都是没问题的代码,就是
String res=call.invoke(new object("....");类似这行的问题,我是搞.net的,谢谢各位java的兄弟们帮忙看夏,小弟请教了
...全文
130 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
brooklyng60 2009-11-29
  • 打赏
  • 举报
回复
还是没有人回答吗?看来又是个无满意答案的帖子,哎
CSDN上的高手少了哦
  • 打赏
  • 举报
回复
前几天遇到同样的问题,如果是axis做的:
call.setUseSOAPAction(true); //.net写的,要加这个
call.setSOAPActionURI("http://tempuri.org/MethodName");//.net写的,要加这个
brooklyng60 2009-10-24
  • 打赏
  • 举报
回复
谢谢楼上的 兄弟,我这两行加了啊,贴上我的 代码,帮忙看下吧,谢谢
import javax.xml.namespace.QName;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;

public class InvokeTest {

public static void main(String[] args) {
invoke();
}

public static void invoke() {
try {
String s = "abc";

// WebService URL
String endPoint = "http://localhost/WsdlServer/test.asmx";
// Service's nameSpace
String nameSpace = "http://www.essp.com";

Service service = new Service();

Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(endPoint));

// set function name "PrintStr"
call.setUseSOAPAction(true);
call.setSOAPActionURI(nameSpace + "/PrintStr");

call.setOperation("PrintStr");
call.setOperationName(new QName(nameSpace, "PrintStr"));

// set parmrameter of the function "str"
call.addParameter("str", org.apache.axis.encoding.XMLType.XSD_STRING,
javax.xml.rpc.ParameterMode.IN);

// return value of the function
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);


// execute the function 这行的问题。参数s上面定义也赋值了,进不去
String res = (String) call.invoke(new Object[] {s});

System.out.println("Invoke PrintStr Result = " + res.toString());

} catch (Exception e) {
System.err.println(e);
}
}

}

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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