用axis生成webservice服务端和客户端代码
2017-04-07 15:19
489 查看
最近,接手了公司java webservice部分的开发,攒了一些经验,为了避免后续把它丢到太空去了,现抽时间把过程记录下来。
1、webservice服务端
1)新建web project
2)新建webservice
3)选择对应的wsdl文件直接生成服务端代码
4)webservice的地址在web.xml配置文件url-pattern节点中
2、webservice客户端
客户端支持两种方式,如果wsdl中不存在节点包含的关系(就是wsdl文件中一部分的报文结构在xsd文件中定义),就采用第一种,否则,建议第二种。
1)第一种调用方式:
String ss = "";
try {
SAXReader reader = new SAXReader();
InputStream ifile = new FileInputStream("C:\\auto.xml");
InputStreamReader ir = new InputStreamReader(ifile, "GBK");
Document document = reader.read(ir);
Element root = document.getRootElement();
ss = root.asXML();
System.out.println(ss);
} catch (Exception e) {
e.printStackTrace();
}
String url = "http://192.168.3.213:7001/com.infotech.sealprove/services/autoProve?wsdl";
Client client = null;
try {
client = new Client(new URL(url));
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
Object[] results;
String response = "";
try {
results = client.invoke("autoProve", new Object[] { ss });
response = (String) results[0];
} catch (Exception e) {
e.printStackTrace();
}
client是用的xfire-all-1.2.6.jar包里的类型,需要引用xfire相关的jar包
2)第二种调用方式
采用axis生成客户端代码,以下是生成过程。
以下就直接按默认下一步即可。
新建完工程之后,将对应的wsdl拷贝到工程src项目,右键wsdl文件选择webservice--generate client菜单
选择对应的wsdl文件就可以生成客户端的代码了。
生成之后,用以下的代码完成对和服务端的接口通讯:
AutoProveSOAPQSService1 client=new AutoProveSOAPQSService1Locator();
AutoProveService service = null;
try {
service = client.getAutoProveSOAPQSPort1();
} catch (ServiceException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
AutoProveRequest sAutoProveRequest=new AutoProveRequest ();
AutoProveResponse msg = null;
try {
msg = service.autoProve(sAutoProveRequest);
System.out.println(msg.toString());
System.out.println(msg.getFAULTCODE());
System.out.println(msg.getFAULTSTRING());
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(msg.getFAULTCODE().equals("00000")){
System.out.println("success");
} else {
System.out.println("fail");
}
1、webservice服务端
1)新建web project
2)新建webservice
3)选择对应的wsdl文件直接生成服务端代码
4)webservice的地址在web.xml配置文件url-pattern节点中
2、webservice客户端
客户端支持两种方式,如果wsdl中不存在节点包含的关系(就是wsdl文件中一部分的报文结构在xsd文件中定义),就采用第一种,否则,建议第二种。
1)第一种调用方式:
String ss = "";
try {
SAXReader reader = new SAXReader();
InputStream ifile = new FileInputStream("C:\\auto.xml");
InputStreamReader ir = new InputStreamReader(ifile, "GBK");
Document document = reader.read(ir);
Element root = document.getRootElement();
ss = root.asXML();
System.out.println(ss);
} catch (Exception e) {
e.printStackTrace();
}
String url = "http://192.168.3.213:7001/com.infotech.sealprove/services/autoProve?wsdl";
Client client = null;
try {
client = new Client(new URL(url));
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
Object[] results;
String response = "";
try {
results = client.invoke("autoProve", new Object[] { ss });
response = (String) results[0];
} catch (Exception e) {
e.printStackTrace();
}
client是用的xfire-all-1.2.6.jar包里的类型,需要引用xfire相关的jar包
2)第二种调用方式
采用axis生成客户端代码,以下是生成过程。
以下就直接按默认下一步即可。
新建完工程之后,将对应的wsdl拷贝到工程src项目,右键wsdl文件选择webservice--generate client菜单
选择对应的wsdl文件就可以生成客户端的代码了。
生成之后,用以下的代码完成对和服务端的接口通讯:
AutoProveSOAPQSService1 client=new AutoProveSOAPQSService1Locator();
AutoProveService service = null;
try {
service = client.getAutoProveSOAPQSPort1();
} catch (ServiceException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
AutoProveRequest sAutoProveRequest=new AutoProveRequest ();
AutoProveResponse msg = null;
try {
msg = service.autoProve(sAutoProveRequest);
System.out.println(msg.toString());
System.out.println(msg.getFAULTCODE());
System.out.println(msg.getFAULTSTRING());
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(msg.getFAULTCODE().equals("00000")){
System.out.println("success");
} else {
System.out.println("fail");
}
相关文章推荐
- wsimport根据服务端的webservice生成客户端代码
- WebService 客户端生成服务端代码
- 根据wsdl 利用axis1.4的WSDL2Java工具生成服务端和客户端代码
- Axis1.4 快速入门 发布WebService服务端、生成WebService客户端
- Java工程使用axis的stub生成webservice客户端代码
- Axis1.4 快速入门 发布WebService服务端、生成WebService客户端
- idea创建webservice客户端、服务端,并将生成的java的代码迁移其他项目
- 使用axis的stub生成webservice客户端代码
- WEBSERVICE 自动生成服务端和客户端 axis
- wsdl生成Webservice客户端和服务端C#代码
- webservice 服务端例子+客户端例子+CXF整合spring服务端测试+生成wsdl文件 +cxf客户端代码自动生成
- webservice,wsdl生成服务端代码,eclipse使用Axis框架生成
- 使用axis自动生成webservice客户端代码
- eclipse使用axis生成webservice客户端并且编写客户端调用代码
- axis1.4 客户端及服务端代码生成
- 使用Axis2中的工具wsdl2Java的生成客户端和服务端代码
- web 项目生成webservice 服务端 和 客户端
- 用WSAD工具生成WebService客户端代码
- 利用axis生成webservice代码
- 用WSAD工具生成WebService客户端代码