当前位置:首页 » 编程语言 » net调用java的webservice

net调用java的webservice

发布时间: 2022-06-24 22:05:52

⑴ .NET中怎么调用java的WebService服务接口。

右键项目,添加web引用。把地址添加进来。并写好你给它什么命名空间
再在.cs代码中using
你定义的命名空间引进来。就当是引入一个dll一样用了

⑵ .net调用java webservice问题(Client.nosoapAction)

现在VS默认使用的.net framework3.5,使用的是AXIS2.0 标准,而你java端明显使用的是AXIS1.0 ,所以会报错,解决方法是添加web服务的时候点击左下的高级设置,使用以前的framework2.0 生成旧版的web引用,或者JAVA端使用AXIS2.0标准进行编写。

⑶ java做一个webservice服务被.NET程序调用

碰巧我前几天做了个,首先把你java做好的webservice部署在服务器中,先运行起来,然后把调用webservice的路径配置到.net中就ok了,不知道你是不是这个意思,用到的是两个服务

⑷ .NET中怎么调用JAVA的WebService服务接口

以axis2来说,你需要对方提供AxisServiceStub类文件(就是wsdl文件),假入对方有一个ShowName的方法,我现在用axis2来调用,coding 如下
//初始化Sub类
AxisServiceStub stub = new AxisServiceStub();
//传递AxisServiceStub.ShowName对象,相关参数在这边赋值。
AxisServiceStub.ShowName command = new AxisServiceStub.ShowName();
command.setName("Hello!");
//取得返回值
//String name = stub.showName(command).get_return();
System.out.println(stub.showName(command).get_return());

⑸ .net调用Java webservice

.net 有WebService 代理的生成工具。
选中项目下的引用右击->添加服务引用->给定网址(能够下载WSDL) 的地址
然后系统会自动生成WebService代理。

使用的时候就像使用本地类一样就可以。

⑹ java 怎样调用.net 写的webservice

一. 使用axis1.x调用webservice方法
Axis的最常用版本:1.4和2.0版本。以下为1.4版本
核心代码:
// webserviceURL
service_url = "http://vip.cxcod.com/PodApi/GetPodStr.asmx?wsdl";
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(service_url));
// 设置要调用的方法
// http://intelink.net/是wsdl中definitions根节点的targetNamespace属性值
call.setOperationName(new QName("http://intelink.net/","GetStrByJobno"));
// 该方法需要的参数
call.addParameter("CustNo",
org.apache.axis.encoding.XMLType.XSD_STRING,
javax.xml.rpc.ParameterMode.IN);
call.addParameter("passwd",
org.apache.axis.encoding.XMLType.XSD_STRING,
javax.xml.rpc.ParameterMode.IN);
call.addParameter("Jobno",
org.apache.axis.encoding.XMLType.XSD_STRING,
javax.xml.rpc.ParameterMode.IN);
// 方法的返回值类型
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);
// call.setUseSOAPAction(true); //call.setSOAPActionURI("http://intelink.net/GetStrByJobno");
// 调用该方法, new Object[] { CustNo, passwd, Jobno}为参数列表
String xmlStr = call.invoke(new Object[] { CustNo, passwd, Jobno}).toString();
} catch (Exception e) {
e.printStackTrace();
}
JAVA用这种方式调用webservice,需要注意的地方:
1. 服务器未能识别 HTTP 标头 SOAPAction 的值:
症状一:
Web Service + ASP.NET 应用程序部署到服务器默认目录中,在IE中用http://<服务器地址>/<程序目录名>/<默认启动页面名>发生“服务器未能识别 HTTP 标头 SOAPAction 的值”错误。
症状二:
在Java平台上调用.NET Web Service的服务时,出现"服务器未能识别 HTTP 标头 SOAPAction 的值"。
症状三:
在Java平台下调用.NET WEB Service,出现数据时有时无。

解决对策:

给.NET的WebService类(即.asmx文件下的类)添加属性[SoapDocumentService(RoutingStyle=SoapServiceRoutingStyle.RequestElement)]
小知识:
什么是SoapAction?它在WSDL中有何作用?
SOAPAction HTTP request header被用来标识SOAP HTTP请求的目的地,其值是个URI地址。SOAP发送并不限制格式、URI特征或其必须可解析,那么在这种情况下,发送一个HTTP SOAP请求时,其HTTP客户端必须使用/指明SOAPAction HTTP request header。

SOAPAction header的内容可以被用在服务端,诸如:防火墙适当的过滤基于HTTP的SOAP请求消息等场景。SOAPAction header的值为空串("")表示SOAP消息的目的地由HTTP请求的URI标识;无值则表示没有指定这条消息的目的地。

本人补充:
在.NET环境调用.NET WebService出现 “SOAPAction 值在 XML Web services 的所有方法中不唯一的错误”,也可以通过此法解决。

2. 为了Java能够调用WebService的方法,所以。NETP写的WebServiced的每个方法都要声明为Rpc方法,即添加"[SoapRpcMethod.....]".
例如:[WebMethod]
[SoapRpcMethod(Use=SoapBindingUse.Literal,Action= http://tempuri.org/HelloWorld", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/")]

3. 对返回值、参数的处理上:
应尽量将webservice方法的返回值、参数都写成字符串(String)不要使用复杂对象类型,这样便于在网络上传输。避免了复杂对象类型的不易转换问题。。。对于返回类型是字符串数组型的,可以设置返回类型为org.apache.axis.encoding.XMLType.SOAP_VECTOR或java.lang.String[].class.

二.利用xfire调用WebService
XFire是新一代的Java Web服务引擎,XFire使得在JavaEE应用中发布Web服务变得轻而易举。和其他Web服务引擎相比,XFire的配置非常简单,可以非常容易地和Spring集成,它使得Java开发人员终于可以获得和.Net开发人员一样的开发效率。

核心代码:
Service service = new ObjectServiceFactory().create(IWebservice.class);
XFireProxyFactory factory =
new XFireProxyFactory(XFireFactory.newInstance().getXFire());
String url= "http://localhost:8080/webservices/services/webservices";
IWebservice iw = (IWebservice) factory.create(service, url);
List list=iw.getTest();
出处:http://liyuandong.iteye.com/blog/567836

⑺ .NET 调用 JAVA 公开的一个Webservice 问题 soapException

1.使用http://10.35.250.72:5678/soap/imyhello在浏览器里看看能不能得到WSDL
2.本地WSDL如果与远程一样,那么本地只是提供离线开发用,生成本地代理类(在分布式中也叫本地存根)

⑻ .NET 调用JAVE Webservice问题

以前遇到过类似的问题,可能是由于两种语言协议有一定差别,C#添加Java的服务引用的时候会自动添加两个,你自己在解决方案管理器里找找是不是?删除其中一个引用就好了。

⑼ NET中怎么调用JAVA的WebService服务接口

vs中有工具,通过添加web引用地址就能自动创建访问client,并且创建了类对象,你通过类对象就能够使用webservice了。

⑽ .net调用java web services

javabean在.net中就相当于一个实体类,在你调用webservice的时候会自动引用javabean的,然后你就可以像操作model层的类一样了。list也是一样的!你仔细看下wsdl就没问题了。
因为webService是基于xml格式传输的,
所以两种语言之间类型的转换你就完全没有必要担心了。别拿service中定义的int型传字符进去就好了,哈哈。 开个玩笑,这样子编译时是通不过的!

热点内容
电脑服务器盘口顺序 发布:2025-02-05 12:40:20 浏览:663
mcpe服务器怎么开 发布:2025-02-05 12:40:13 浏览:835
linux文件记录 发布:2025-02-05 12:39:31 浏览:775
编程奖金计算 发布:2025-02-05 12:27:01 浏览:185
软件怎么去掉付费配置 发布:2025-02-05 12:26:17 浏览:504
安卓手机怎么下载谷歌商店apk 发布:2025-02-05 12:21:09 浏览:367
腾讯视频的缓存在哪里 发布:2025-02-05 12:21:03 浏览:710
安卓聊天记录未备份怎么恢复 发布:2025-02-05 12:05:02 浏览:953
海外搭建服务器可以连外网吗 发布:2025-02-05 11:49:21 浏览:64
少儿编程报名 发布:2025-02-05 11:49:13 浏览:308