导航:首页 > 编程语言 > java调用asmx

java调用asmx

发布时间:2023-05-10 03:51:41

1. java 调用 .net web service 问题

.java作为web service 的客户端去调用 .Net Web Service的服务端;

开发中遇到的问题及其解决办法有如下
1)java和.net 的默认namespace问题;

解决方案: java:http://tempuri.org
.net :http://tempuri.org/
区别就是符号“/”;如果不带“/”产生的结果会出错;
问题解决:统一加上“/”;

2)两者产生的SOAP文件格式不一致,有三种,Microsoft的;IBM的,通过抓包工具可以获得java产生的Soap消息

解决方案:SOAP 消息头问题,从上面抓包的信息可以看出:请求的是<soapenv:Envelope 而response的是<soap:Envelope
这是由于不同的服务商封装成的不同格式的soap ,但都是遵循SOAP,可以通用;
Microsoft的是 <soap:Envelope ,而IBM的是 <soapenv:Envelope ;
3)入参的数据类型会影响调用的正确性;
解决方案:
第二个参数的入参是long型。如果修改make1方法的String 型成 long 型,则程序异常;
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Client
faultSubcode:
faultString: System.Web.Services.Protocols.SoapException: Server was unable to read request. ---> System.InvalidOperationException: There is an error in XML document (1, 440). ---> System.FormatException: Input string was not in a correct format.
at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
at System.Number.ParseInt64(String value, NumberStyles options, NumberFormatInfo numfmt)
at System.Xml.XmlConvert.ToInt64(String s)

其实我们只需要在参数设置里面设成org.apache.axis.encoding.XMLType.XSD_LONG;

2. java调用asmx乱码

可以调用的
在Java语言中,调用方法有三种方式。:亮梁
第一种信键没:通过对象名.方法名进行滑纳调用,这是最普通的也是最常见的一种调用方式。
第二种:通过new关键字调用构造方法,这种是在实例化对象时使用的方式。
第三种:通过类名.方法名调用,当需要调用的那个方法为静态(有static的)方法时使用。

3. JAVA调用.net写的webservice接口asmx

返回一个json 格式的字符串给你,你就好处理了

4. 急!java调用webservice并解析返回值,重谢!!

您好,提问者:
解析XML可以使用dom4j技术。
参考版资料:权http://www.cnblogs.com/CheeseZH/archive/2012/11/28/2791914.html

5. java调用webservice接口具体怎么调用

使用HttpClient
用到的jar文件:commons-httpclient-3.1.jar
方法:
预先定义好Soap请求数据,可以借助于XMLSpy Professional软件来做这一步生成。

String soapRequestData = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
"<soap12:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap12=\"http://www.w3.org/2003/05/soap-envelope\">" +
"<soap12:Body>" +
" <getCountryCityByIp xmlns=\"http://WebXml.com.cn/\">" +
" <theIpAddress>219.137.167.157</theIpAddress>" +
" </getCountryCityByIp>" +
" </soap12:Body>" +
"</soap12:Envelope>";

然后定义一个PostMethod,这时需要指定web服务的Url;

PostMethod postMethod = new PostMethod(“http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx”);

然后把Soap请求数据添加到PostMethod中

byte[] b = soapRequestData.getBytes("utf-8");
InputStream is = new ByteArrayInputStream(b,0,b.length);
RequestEntity re = new InputStreamRequestEntity(is,b.length,"application/soap+xml; charset=utf-8");
postMethod.setRequestEntity(re);

最后生成一个HttpClient对象,并发出postMethod请求

HttpClient httpClient = new HttpClient();
statusCode = httpClient.executeMethod(postMethod);
String soapRequestData = postMethod.getResponseBodyAsString();

soapRequestData就是调用web服务的Soap响应数据,是xml格式的,可以通过解析soapRequestData来获得调用web服务的返回值。

6. java调用asmx接口

很多朋友都想知道java asmx是什么?如何调用asmx接口?下面就一起来了解一下吧~

webservice的.asmx是一个平台独立的,低耦合的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)更加标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的交互操作的应用程序。

.asmx是webservice服务程序的后缀名,ASP.NET 使用.asmx 文件来对Web Services的支持。.asmx 文件和.aspx文件一样都属于文本文件。它包含在.aspx文件之中,成为ASP.NET应用程序的一部分。
                    commons-httpclient            commons-httpclient   搭漏         3.1

工具类
import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.SimpleHttpConnectionManager; import org.apache.commons.httpclient.methods.PostMethod;   import java.io.IOException; import java.util.Map;   public class SoapUtil {         public static String callSoap(String url,String method, Map paramMap) throws IOException {         // 输入服务网址         HttpClient client = new HttpClient();         PostMethod post = new PostMethod(url+"/"+method);         // 设置参数         if (paramMap != null) {             for (Map.Entry item : paramMap.entrySet()) {                 String key = item.getKey();                 String value = item.getValue();                 System.out.println(key + ":" + value);                 post.setParameter(key, value);             }         }         // client.setTimeout(newTimeoutInMilliseconds);           // 执行,返回一个结果码         int code = client.executeMethod(post);           System.out.println("结果码:" + code);         // 获取xml结果         String result = post.getResponseBodyAsString();         System.out.println("结果:" + result);         // 释放连接         post.releaseConnection();         // 关知销烂闭连接     斗衫    ((SimpleHttpConnectionManager) client.getHttpConnectionManager()).shutdown();         return result;     }   }
调用 public static void main(String[] args) throws Exception {             Map paramMap = new HashMap();     paramMap.put("id", "10086");     paramMap.put("name", "老李");       SoapUtil.callSoap("http://120.79.xxx.xxx:1234/aaaa.asmx", "调用的方法", paramMap);   }

7. java 怎样调用c#提供的webservice接口

Java调用代码C#写的webservice例子:
/**
* @param:strTaskID 任务id
* @param:iDowloadType: 下载类型。0:ALL,1:日志,2:脚本
* @param:bIncludeDeleted: 是否包含已经删除的记录
* @return file object of log
* 2015年11月25日上午11:08:48
*/
public static String downloadTestLogsByTaskID(String strTaskID,String iDowloadType,boolean bIncludeDeleted){
File result = null;
try{
Service service = new Service();
Call call = (Call) service.createCall();
call.setOperationName(new QName("", "GetTestQuestions"));
call.addParameter("strTaskID", XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter("iDowloadType", XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter("bIncludeDeleted", XMLType.XSD_BOOLEAN, ParameterMode.IN);
call.setTargetEndpointAddress(new URL("http://WebService/SuperTPA/DownloadTestLogsByTaskID"));
result = (File) call.invoke(new Object[] { strTaskID, iDowloadType,bIncludeDeleted});

}catch(Exception e){
e.printStackTrace();
}

return result;
}
public static void main(String args[]){
System.out.println(downloadTestLogsByTaskID("123456","1",true));
}

8. Java调用asmx(webService)报错Unrecognized Windows Sockets error: 5: socket write error

这个和JAVA的兼容不此祥察是太好,建议按POST XML 的方式调用。打开asmx的网宴滑址,会有提示如何POST XML的森茄。

9. 怎样在java 中调用web service 传入参数返回xml

js 代码

function ajaxRequest()
{
var url = "http://********.asmx";

//设置webService传入参数
//
//注意:
//
// 调用.Net 写的webservice(如例子中的webservicedemo.asmx)
// HelloTo(String name) 针对name参数必须写成 <name></name>wqj,还有更多参数一样写,使用名称匹配
// 传入的参数数量可以不等于(多于或少于)方法要求的参数
//
// 调用java(xfire) 发布的webService
// 传入的参数必须与调用方法的参数数量相等,且按传入值的顺序进行匹配
//

var para = "<name></name>wqj"; 这里应该是一个标准的xml形式,源码贴出来时被虑掉了,请参看附件源码

var op = {
data:para,
onComplete: showResponse,
onFailure:showError,
update:'ajaxBack'
};

var service = new WebService(url,"HelloTo",op);
service.request();
return false;
}
function showError(obj)
{
//obj 是一个xmlHttpRequest对象
alert("error");
}
function showResponse(requestText,requestXML)
{
//requestText 返回的文本
//requestXML 返回的XML
alert("ok");
}

10. java如何调用webservice接口

Java通过WSDL文件来调用直接调用模式如下:

import java.util.Date;

import java.text.DateFormat;

import org.apache.axis.client.Call;

import org.apache.axis.client.Service;

import javax.xml.namespace.QName;

import java.lang.Integer;

import javax.xml.rpc.ParameterMode;

public class caClient {

public static void main(String[] args) {

try {

String endpoint = "http://localhost:8080/ca3/services/caSynrochnized?wsdl";

//直接引用远程的wsdl文件

//以下都是套路

Service service = new Service();

Call call = (Call) service.createCall();

call.setTargetEndpointAddress(endpoint);

call.setOperationName("addUser");//WSDL里面描述的接口名称

call.addParameter("userName", org.apache.axis.encoding.XMLType.XSD_DATE,

javax.xml.rpc.ParameterMode.IN);//接口的参数

call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);//设置返回类型

String temp = "测试人员";

String result = (String)call.invoke(new Object[]{temp});

//给方法传递参数,并且调用方法

System.out.println("result is "+result);

}

catch (Exception e) {

System.err.println(e.toString());

}

}

}

阅读全文

与java调用asmx相关的资料

热点内容
桌面云配置文件分离 浏览:505
iphone5如何升级4g网络 浏览:5
团购是在哪个app 浏览:897
打开多个word文档图片就不能显示 浏览:855
腾讯新闻怎么切换版本 浏览:269
app安装失败用不了 浏览:326
桌面文件鼠标点开会变大变小 浏览:536
手机误删系统文件开不了机 浏览:883
微信兔子甩耳朵 浏览:998
android蓝牙传文件在哪里 浏览:354
苹果6s软解是真的吗 浏览:310
c语言代码量大 浏览:874
最新网络卫星导航如何使用 浏览:425
以下哪些文件属于图像文件 浏览:774
zycommentjs 浏览:414
确认全血细胞减少看哪些数据 浏览:265
文件有哪些要求 浏览:484
cad打开时会出现两个文件 浏览:65
什么是转基因网站 浏览:48
手柄设备有问题代码43 浏览:921

友情链接