java webservices 以Axis1.4方式 调用sap webservice接口.

Posted 木子水皮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java webservices 以Axis1.4方式 调用sap webservice接口.相关的知识,希望对你有一定的参考价值。

1. 首先需要下载Axis1.4 jar包,这个必应搜索大把,下载下来后把jar包加入eclipse工程项目路径中即可.

2. 下载mail.jar和activation.jar 俩个包。下载地址:https://www.eclipse.org/webtools/wst/components/ws/download_instructions_for_jars.html

    该网址中含有所有 java webServices 所需要的jar包。如果确实这俩个包,运行时会有:Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart) 异常.

 

以下为可以跑的通的代码,需要修改相应的账户密码,路径,方法名,方法参数(在Xmlbody中修改),下载好相应的jar包.

 

 

package frcProject;

import javax.xml.rpc.ParameterMode;

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;

/**
 * 
 * WebService调用 通过AXIS1.4调用远程的web service
 * 
 * 
 * 
 * 
 * @author lb
 *
 * 
 */
public class testWebService {

    public static void main(String[] args) {

        String endpoint = "http://s4dapp.eva-holdings.com:8000/sap/bc/srt/wsdl/flv_10002A101AD1/bndg_url/sap/bc/srt/rfc/sap/zcs_ws001/200/zcs_ws001/zcs_ws001";// 远程请求访问wsdl文件

        String xmlBody = "<?xml version="1.0" encoding="GBK"?><request>" + "<num1>5</num1>"

                + "<num2>5</num2>" + "</request>";// 请求参数

        String returnData = "";

        try {
            Service service = new Service();

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

            call.setProperty(org.apache.axis.client.Call.USERNAME_PROPERTY, "account"); // 账号
            call.setProperty(org.apache.axis.client.Call.PASSWORD_PROPERTY, "password");// 密码

            call.setTargetEndpointAddress(endpoint);// 远程调用路径

            call.setOperationName("remoteMethodName");// 调用的方法名

            // 设置参数名: 参数名,参数类型,参数模式

call.addParameter("xmlBody", XMLType.XSD_STRING, ParameterMode.IN); call.setReturnType(XMLType.XSD_STRING);// 设置被调用方法的返回值类型 try { returnData = (String) call.invoke(new Object[] { xmlBody });// 远程调用 } catch (Exception e) { System.out.println(e); } System.out.println("result is " + returnData); } catch (Exception e) { System.err.println(e.toString()); } } }

 

以上是关于java webservices 以Axis1.4方式 调用sap webservice接口.的主要内容,如果未能解决你的问题,请参考以下文章

基于Axis1.4的webservice接口开发(接口调用)

基于Axis1.4的webservice接口开发(代码开发)

Axis1.4底层加载server-config.wsdd文件的过程

Axis1.4 配置数组类型复杂对象

FineReport中以jws方式调用WebService数据源方案

webservice总结