SAP和Java系统的Webservice实例
2012-10-09 16:04
225 查看
简介
关于Webservice的概念和原理,简单来讲,Webservice是一种基于SOAP传输协议,用WSDL描述,用XML封装数据的接口技术。由于其跨平台、跨防火墙、开发成本低、开发周期短等优势而被广泛应用,但也有局限性,包括传输负载大、没有统一的实现模型等。
对于Webservice在SAP中的应用,多被用在系统同步要求高,数据传输负载小的接口开发上。下面以SAP系统和外部系统的交互为例,SAP ECC系统两个、外部系统一个(Java EJB3 Jboss5),分别讲述从SAP到SAP,SAP到Java,Java到Java,Java到SAP的Webservice实例。
一、SAP系统间的Webservice调用
SE37创建函数z_calculate,类型要设置为RFC类型,参数都设置为传值:
function z_calculate.
*"----------------------------------------------------------------------
*"*"Local interface:
*" IMPORTING
*" VALUE(NUMBER1) TYPE STRING
*" VALUE(NUMBER2) TYPE STRING
*" VALUE(OPERATOR) TYPE STRING
*" EXPORTING
*" VALUE(RESULT) TYPE STRING
*"----------------------------------------------------------------------
try .
case operator.
when '+'.
result = number1 + number2.
when '-'.
result = number1 - number2.
when '*'.
result = number1 * number2.
when '/'.
result = number1 / number2.
when others.
result = 'Not supported!'.
endcase.
catch cx_root.
result = 'Not supported!'.
endtry.
condense result.
endfunction.
把函数发布成Webservice
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/d513ad8558beb0e6fc69afc0e2898632.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/cefb3ebb46ae83b1bdb27bad310ddc9b.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/e76f14b68b4e6e5f0553cc57ce704346.jpg)
其他一路下来默认,完成后服务已经创建;接下来到SOAMANAGER中去找WSDL的URL,进入到Web service Administration界面,
Apply selection => Overview => Displayselected Binding's WSDL URL,在右边可以看到了。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/7a9360f2ee7d350818554329eb472762.jpg)
接下来去SICF中找到服务的Endpoint地址
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/87f44ab20a56e4b60dbc3ec017aa026c.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/5f4413fcbaaf9aa135e6c425cf8ca4ca.jpg)
在浏览器中会得到地址:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/0190dc331d04f3ab2d91b910abc79814.jpg)
下面进入到Webservice的Client端SAP系统,SE80创建代理类:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/07018adcd94dd02f880c633b5b6ce356.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/b729e3e4e7e76a11a0836ffb47350cd4.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/1d9faebbf18ae37c67739d5107e17613.jpg)
在URL栏位输入上面的WSDL的URL
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/52140110aa5a974e17db8524987dee61.jpg)
激活代理类,然后LPCONFIG创建逻辑端口:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/4d90bfe2359a79a5c693da25ff2278e1.jpg)
在URL栏位输入上面的Endpoint的URL
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/79fe1923595ccc33d49dfb78ae11cc9d.jpg)
保存后激活,然后回到SE80 测试代理类:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/82f66f899ad7af071c5a13030d88ec6a.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/044459bcecb7b7a668ada4db2e92c4c3.jpg)
已经成功的正确返回结果。也可以以代码的方式访问:
report zyincl_test_00.
data: go_proxy type ref to zco_zsap_calculate,
gs_input type zzcalculate,
gs_output type zzcalculate_response,
go_exception type ref to cx_ai_system_fault.
try.
create object go_proxy.
gs_input-number1 = '3'.
gs_input-number2 = '7'.
gs_input-operator = '*'.
go_proxy->zcalculate(
exporting input = gs_input
importing output = gs_output ).
write gs_output-result.
catch cx_ai_system_fault into go_exception.
write go_exception->errortext.
endtry.
执行结果:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/cfac0846af4c99ea101814dde4cc1298.jpg)
二、SAP系统调用EJB服务
准备好Eclipse的Java EE版、JDK1.5、Jboss5.0、Axis2。进入eclipse配置JRE和Jboss如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/d6584487388848882d37d73bf969373a.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/2423e9245093fdd9b17810d46ffcfd93.jpg)
接下来创建一个EJB3的项目:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/29201e383ccf323294b09ba1c7fbba0e.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/1579ecd58a4664f40e0074fc3a57ceff.jpg)
创建一个接口:
package org.clyde;
public interfaceICalculator {
Stringcalucate(String number1, String number2, String operator);
}
创建一个它的实现类:
package org.clyde;
importjavax.ejb.Remote;
importjavax.ejb.Stateless;
importjavax.jws.WebMethod;
importjavax.jws.WebService;
@Remote @Stateless@WebService
public classCalculatorImpl implements ICalculator {
@WebMethod
publicString calucate(String number1, String number2, String operator) {
Floatf1, f2, f3;
try{
f1= Float.parseFloat(number1);
f2= Float.parseFloat(number2);
switch(operator.charAt(0)) {
case'+':
f3= f1 + f2;
break;
case'-':
f3= f1 - f2;
break;
case'*':
f3= f1 * f2;
break;
case'/':
f3= f1 / f2;
break;
default:
return"Not supported!";
}
}catch (Exception e) {
return"Not supported!";
}
returnString.valueOf(f3);
}
}
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/eb9176af9ff12eb396e11a5c6ae03989.jpg)
部署到Jboss上:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/41de3c6e4318821817a6ab659d27ccf6.jpg)
WSDL的地址组合方式为:http:// + 应用服务器地址 + 端口 + 项目名 + 类名 + "?WSDL"
即:http://localhost:8080/EJB001/CalculatorImpl?WSDL
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/5c8a3006b9d96b3e4a10c2208a84748e.jpg)
根据此WSDL在SAP端创建代理类,配置方式跟SAP到SAP类似,只是在Lpconfig里面的URL也用当前的WSDL的URL。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/0a039e99813658b311478b1153927c73.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/520e1419c8b227bdfb5de9b6b11b46c3.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/173b91717dfcd6d1a573dff8c4f49b93.jpg)
保存激活后,返回到SE80测试:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/da834ab5bc80d6e24e6e39d460a7f632.jpg)
结果如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/1cb56eb5d303d4460004c80f263423a4.jpg)
ABAP代码的访问同SAP到SAP,这里不再演示。
三、SAP系统到Java系统
第一步中已经发布了一个SAP系统的webservice,要用到的两个地址,
WSDl地址:http://ecc.dev.jsepc.com.cn:8002/sap/bc/srt/wsdl/bndg_4E49EDE9E05800A2E1008000C0A80106/wsdl11/allinone/ws_policy/document?sap-client=200
Endpoint地址:http://ecc.dev.jsepc.com.cn:8002/sap/bc/srt/rfc/sap/zsap_calculate/200/zsap_calculate/zsap_calculate?sap-client=200
用Axis2的WSDL2Java工具,把上面的WSDL地址转化为Java类:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/d84d63d65d9f0f8d779cb98a8ccc10c0.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/b8017cd39661e79eb90c6b6b39690714.jpg)
执行完后,能看到生成的类:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/280798bc00d2e958b0c4c1067b3b50e1.jpg)
下面创建一个Java Project,写一个webservice的客户端
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/fe62a5c699ebe8f919df9a97c77879da.jpg)
把生成的SRC下面的东西复制到当前项目的SRC下面:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/a53001144b0c7b850c877b1cc6db1f0e.jpg)
导入后,刷新,发现有错误,这是因为还没有导入Axis2的jar包,依次导入:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/f0d2c9d5336ad7f8ee96c3666e3c66da.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/65f63abc53443371fcfe0ffc37f171de.jpg)
然后写一个Client类,代码如下:
package org.clyde;
importjava.rmi.RemoteException;
importmc_style.functions.soap.sap.document.sap_com.ServiceStub;
importmc_style.functions.soap.sap.document.sap_com.ServiceStub.ZCalculate;
public class Client{
publicstatic void main(String[] args) throws RemoteException {
//代理类
ServiceStubstub = new ServiceStub(
"http://ecc.dev.jsepc.com.cn:8002/sap/bc/srt/rfc/sap"
+"/zsap_calculate/200/zsap_calculate/zsap_calculate?sap-client=200");
//准备输入
ZCalculateinput = new ZCalculate();
input.setNumber1("7");
input.setNumber2("3");
input.setOperator("-");
//调用并输出
System.out.println(stub.zCalculate(input).getResult());
}
}
给stub类的地址是上面提到的Endpoint地址,即SAP中SICF下测试服务的URL地址。
执行webservice调用,结果如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/83d24365960e1621752c5fd82ebc8761.jpg)
四、EJB系统到Java系统
java中访问webservice的方法有很多种,包括Stub方式、RPC方式、CXF方式等等,
下面还是以基于Axis2引擎的Stub方式实现:
上面已经发布了一个EJB的Webservice实例,
WSDL:http://localhost:8080/EJB001/CalculatorImpl?WSDL
同上,通过WSDL2JAVA 解析为本地类,然后编写客户端,代码如下:
packageorg.clyde;
importjava.rmi.RemoteException;
importorg.clyde.CalculatorImplServiceStub.Calucate;
importorg.clyde.CalculatorImplServiceStub.CalucateE;
publicclass Client_from_EJB {
publicstatic void main(String[] args) throws RemoteException {
//代理类
CalculatorImplServiceStubstub =
newCalculatorImplServiceStub("http://localhost:8080/EJB001/CalculatorImpl?WSDL");
//准备输入
Calucateinput1 = new Calucate();
input1.setArg0("3");
input1.setArg1("8");
input1.setArg2("/");
CalucateEinput2 = new CalucateE();
input2.setCalucate(input1);
//调用并输出
System.out.println(stub.calucate(input2).getCalucateResponse().get_return());
}
}
运行结果如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/3c056e64c99a37f0cfdaf6cc4a25e6fe.jpg)
到此,Webservice的四种交互方式都简单的做了实例分析。
http://blog.csdn.net/yin_chuan_lang/article/details/6706693
关于Webservice的概念和原理,简单来讲,Webservice是一种基于SOAP传输协议,用WSDL描述,用XML封装数据的接口技术。由于其跨平台、跨防火墙、开发成本低、开发周期短等优势而被广泛应用,但也有局限性,包括传输负载大、没有统一的实现模型等。
对于Webservice在SAP中的应用,多被用在系统同步要求高,数据传输负载小的接口开发上。下面以SAP系统和外部系统的交互为例,SAP ECC系统两个、外部系统一个(Java EJB3 Jboss5),分别讲述从SAP到SAP,SAP到Java,Java到Java,Java到SAP的Webservice实例。
一、SAP系统间的Webservice调用
SE37创建函数z_calculate,类型要设置为RFC类型,参数都设置为传值:
function z_calculate.
*"----------------------------------------------------------------------
*"*"Local interface:
*" IMPORTING
*" VALUE(NUMBER1) TYPE STRING
*" VALUE(NUMBER2) TYPE STRING
*" VALUE(OPERATOR) TYPE STRING
*" EXPORTING
*" VALUE(RESULT) TYPE STRING
*"----------------------------------------------------------------------
try .
case operator.
when '+'.
result = number1 + number2.
when '-'.
result = number1 - number2.
when '*'.
result = number1 * number2.
when '/'.
result = number1 / number2.
when others.
result = 'Not supported!'.
endcase.
catch cx_root.
result = 'Not supported!'.
endtry.
condense result.
endfunction.
把函数发布成Webservice
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/d513ad8558beb0e6fc69afc0e2898632.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/cefb3ebb46ae83b1bdb27bad310ddc9b.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/e76f14b68b4e6e5f0553cc57ce704346.jpg)
其他一路下来默认,完成后服务已经创建;接下来到SOAMANAGER中去找WSDL的URL,进入到Web service Administration界面,
Apply selection => Overview => Displayselected Binding's WSDL URL,在右边可以看到了。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/7a9360f2ee7d350818554329eb472762.jpg)
接下来去SICF中找到服务的Endpoint地址
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/87f44ab20a56e4b60dbc3ec017aa026c.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/5f4413fcbaaf9aa135e6c425cf8ca4ca.jpg)
在浏览器中会得到地址:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/0190dc331d04f3ab2d91b910abc79814.jpg)
下面进入到Webservice的Client端SAP系统,SE80创建代理类:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/07018adcd94dd02f880c633b5b6ce356.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/b729e3e4e7e76a11a0836ffb47350cd4.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/1d9faebbf18ae37c67739d5107e17613.jpg)
在URL栏位输入上面的WSDL的URL
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/52140110aa5a974e17db8524987dee61.jpg)
激活代理类,然后LPCONFIG创建逻辑端口:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/4d90bfe2359a79a5c693da25ff2278e1.jpg)
在URL栏位输入上面的Endpoint的URL
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/79fe1923595ccc33d49dfb78ae11cc9d.jpg)
保存后激活,然后回到SE80 测试代理类:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/82f66f899ad7af071c5a13030d88ec6a.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/044459bcecb7b7a668ada4db2e92c4c3.jpg)
已经成功的正确返回结果。也可以以代码的方式访问:
report zyincl_test_00.
data: go_proxy type ref to zco_zsap_calculate,
gs_input type zzcalculate,
gs_output type zzcalculate_response,
go_exception type ref to cx_ai_system_fault.
try.
create object go_proxy.
gs_input-number1 = '3'.
gs_input-number2 = '7'.
gs_input-operator = '*'.
go_proxy->zcalculate(
exporting input = gs_input
importing output = gs_output ).
write gs_output-result.
catch cx_ai_system_fault into go_exception.
write go_exception->errortext.
endtry.
执行结果:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/cfac0846af4c99ea101814dde4cc1298.jpg)
二、SAP系统调用EJB服务
准备好Eclipse的Java EE版、JDK1.5、Jboss5.0、Axis2。进入eclipse配置JRE和Jboss如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/d6584487388848882d37d73bf969373a.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/2423e9245093fdd9b17810d46ffcfd93.jpg)
接下来创建一个EJB3的项目:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/29201e383ccf323294b09ba1c7fbba0e.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/1579ecd58a4664f40e0074fc3a57ceff.jpg)
创建一个接口:
package org.clyde;
public interfaceICalculator {
Stringcalucate(String number1, String number2, String operator);
}
创建一个它的实现类:
package org.clyde;
importjavax.ejb.Remote;
importjavax.ejb.Stateless;
importjavax.jws.WebMethod;
importjavax.jws.WebService;
@Remote @Stateless@WebService
public classCalculatorImpl implements ICalculator {
@WebMethod
publicString calucate(String number1, String number2, String operator) {
Floatf1, f2, f3;
try{
f1= Float.parseFloat(number1);
f2= Float.parseFloat(number2);
switch(operator.charAt(0)) {
case'+':
f3= f1 + f2;
break;
case'-':
f3= f1 - f2;
break;
case'*':
f3= f1 * f2;
break;
case'/':
f3= f1 / f2;
break;
default:
return"Not supported!";
}
}catch (Exception e) {
return"Not supported!";
}
returnString.valueOf(f3);
}
}
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/eb9176af9ff12eb396e11a5c6ae03989.jpg)
部署到Jboss上:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/41de3c6e4318821817a6ab659d27ccf6.jpg)
WSDL的地址组合方式为:http:// + 应用服务器地址 + 端口 + 项目名 + 类名 + "?WSDL"
即:http://localhost:8080/EJB001/CalculatorImpl?WSDL
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/5c8a3006b9d96b3e4a10c2208a84748e.jpg)
根据此WSDL在SAP端创建代理类,配置方式跟SAP到SAP类似,只是在Lpconfig里面的URL也用当前的WSDL的URL。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/0a039e99813658b311478b1153927c73.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/520e1419c8b227bdfb5de9b6b11b46c3.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/173b91717dfcd6d1a573dff8c4f49b93.jpg)
保存激活后,返回到SE80测试:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/da834ab5bc80d6e24e6e39d460a7f632.jpg)
结果如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/1cb56eb5d303d4460004c80f263423a4.jpg)
ABAP代码的访问同SAP到SAP,这里不再演示。
三、SAP系统到Java系统
第一步中已经发布了一个SAP系统的webservice,要用到的两个地址,
WSDl地址:http://ecc.dev.jsepc.com.cn:8002/sap/bc/srt/wsdl/bndg_4E49EDE9E05800A2E1008000C0A80106/wsdl11/allinone/ws_policy/document?sap-client=200
Endpoint地址:http://ecc.dev.jsepc.com.cn:8002/sap/bc/srt/rfc/sap/zsap_calculate/200/zsap_calculate/zsap_calculate?sap-client=200
用Axis2的WSDL2Java工具,把上面的WSDL地址转化为Java类:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/d84d63d65d9f0f8d779cb98a8ccc10c0.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/b8017cd39661e79eb90c6b6b39690714.jpg)
执行完后,能看到生成的类:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/280798bc00d2e958b0c4c1067b3b50e1.jpg)
下面创建一个Java Project,写一个webservice的客户端
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/fe62a5c699ebe8f919df9a97c77879da.jpg)
把生成的SRC下面的东西复制到当前项目的SRC下面:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/a53001144b0c7b850c877b1cc6db1f0e.jpg)
导入后,刷新,发现有错误,这是因为还没有导入Axis2的jar包,依次导入:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/f0d2c9d5336ad7f8ee96c3666e3c66da.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/65f63abc53443371fcfe0ffc37f171de.jpg)
然后写一个Client类,代码如下:
package org.clyde;
importjava.rmi.RemoteException;
importmc_style.functions.soap.sap.document.sap_com.ServiceStub;
importmc_style.functions.soap.sap.document.sap_com.ServiceStub.ZCalculate;
public class Client{
publicstatic void main(String[] args) throws RemoteException {
//代理类
ServiceStubstub = new ServiceStub(
"http://ecc.dev.jsepc.com.cn:8002/sap/bc/srt/rfc/sap"
+"/zsap_calculate/200/zsap_calculate/zsap_calculate?sap-client=200");
//准备输入
ZCalculateinput = new ZCalculate();
input.setNumber1("7");
input.setNumber2("3");
input.setOperator("-");
//调用并输出
System.out.println(stub.zCalculate(input).getResult());
}
}
给stub类的地址是上面提到的Endpoint地址,即SAP中SICF下测试服务的URL地址。
执行webservice调用,结果如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/83d24365960e1621752c5fd82ebc8761.jpg)
四、EJB系统到Java系统
java中访问webservice的方法有很多种,包括Stub方式、RPC方式、CXF方式等等,
下面还是以基于Axis2引擎的Stub方式实现:
上面已经发布了一个EJB的Webservice实例,
WSDL:http://localhost:8080/EJB001/CalculatorImpl?WSDL
同上,通过WSDL2JAVA 解析为本地类,然后编写客户端,代码如下:
packageorg.clyde;
importjava.rmi.RemoteException;
importorg.clyde.CalculatorImplServiceStub.Calucate;
importorg.clyde.CalculatorImplServiceStub.CalucateE;
publicclass Client_from_EJB {
publicstatic void main(String[] args) throws RemoteException {
//代理类
CalculatorImplServiceStubstub =
newCalculatorImplServiceStub("http://localhost:8080/EJB001/CalculatorImpl?WSDL");
//准备输入
Calucateinput1 = new Calucate();
input1.setArg0("3");
input1.setArg1("8");
input1.setArg2("/");
CalucateEinput2 = new CalucateE();
input2.setCalucate(input1);
//调用并输出
System.out.println(stub.calucate(input2).getCalucateResponse().get_return());
}
}
运行结果如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/25/3c056e64c99a37f0cfdaf6cc4a25e6fe.jpg)
到此,Webservice的四种交互方式都简单的做了实例分析。
http://blog.csdn.net/yin_chuan_lang/article/details/6706693
相关文章推荐
- SAP和Java系统的Webservice实例
- SAP和Java系统的Webservice实例
- SAP和Java系统的Webservice实例
- SAP和Java系统的Webservice实例
- SAP和Java系统的Webservice实例
- SAP和Java系统的Webservice实例
- SAP和Java系统的Webservice实例
- SAP和Java系统的Webservice实例 转载
- SAP和Java系统的Webservice实例
- SAP和Java系统的Webservice实例
- 在与sap系统集成时遇到的问题.sap系统发布一webservice,java(xfire)作为客户端调用,调用时抛出如下异常: Wrong Content-Type and empty HTTP-Body received: ("HTTP Code 20
- WebService之WSDL和SOAP实例(基于JAVA)
- axis2 webservice入门知识(JS,Java,PHP调用实例源码)
- 利用Java编写简单的WebService实例
- 利用Java编写简单的WebService实例
- java调用webservice实例
- SAP传输系统TMS的配置和实例
- JAVA项目中发布WebService服务—简单实例
- Java(JCo3)与SAP系统相互调用 外部系统(Java)调用BAPI函数...
- Java使用SOAP获取webservice实例解析