bos WebService安全性



方法1
package client;

import java.rmi.RemoteException;

import javax.xml.rpc.ServiceException;

import org.apache.axis.client.Stub;
import org.apache.axis.message.SOAPHeaderElement;

import _190._41._10._10.ormrpc.services.EASLogin.EASLoginProxy;
import _190._41._10._10.ormrpc.services.EASLogin.EASLoginProxyServiceLocator;
import _190._41._10._10.ormrpc.services.WSBaseDataSyncFacade.WSBaseDataSyncFacadeSrvProxy;
import _190._41._10._10.ormrpc.services.WSBaseDataSyncFacade.WSBaseDataSyncFacadeSrvProxyService;
import _190._41._10._10.ormrpc.services.WSBaseDataSyncFacade.WSBaseDataSyncFacadeSrvProxyServiceLocator;

public class Test {
	
	private static String url = "http://10.10.41.190:6888";
	private static String userName = "xiaoniujz";
	private static String password = "xiaoniujz",dcName = "xiaoniu_0824";
	private static String slnName = "eas";
	private static String language = "l2";
	private static int dbType = 2;
	
	public static void main(String[] args) {
		String value = getBaseData();
		System.out.println(value);
	}
	
	public static String getBaseData() {
		String value = "";
		 String sessionId = "";
        EASLoginProxyServiceLocator loginLocator = new EASLoginProxyServiceLocator();  
        try {  
            EASLoginProxy loginProxy = loginLocator.getEASLogin();  
            System.out.println("------ 开始登录服务器 .... ");  
            WSContext context = loginProxy.login(userName, password, slnName, dcName, language, dbType);  
            sessionId = context.getSessionId();  
            if(sessionId!=null)  
            {  
                System.out.println("------ 登陆成功,SessionID:" + sessionId);  
            }else
            {
            	value = "登陆失败";
            	return value;
            }
        } catch (ServiceException | RemoteException e) {  
            e.printStackTrace();  
            value = e.getMessage();
            return value;
        }
        
        WSBaseDataSyncFacadeSrvProxyServiceLocator baseDataService = new WSBaseDataSyncFacadeSrvProxyServiceLocator();
        baseDataService.setMaintainSession(true);
		try {
			WSBaseDataSyncFacadeSrvProxy baseDataProxy = baseDataService.getWSBaseDataSyncFacade();
			((Stub)baseDataProxy).setHeader(new SOAPHeaderElement("http://login.webservice.bos.kingdee.com","SessionId", sessionId));
			value = baseDataProxy.getBaseData("costcenter", "", "1", "1");
		} catch (Exception e) {
			e.printStackTrace();
			value = e.getMessage();
		} 
		return value;
	}
}


方法2

package com.hhxh;

import java.rmi.RemoteException;

import javax.xml.namespace.QName;
import javax.xml.rpc.ServiceException;

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.message.SOAPHeaderElement;
import org.json.JSONArray;
import org.json.JSONObject;

import com.hhxh.client.WSContext;


public class BaseDataSyncTest 
{
	private static String url = "http://10.10.41.190:6888";
	private static String userName = "xiaoniujz";
	private static String password = "xiaoniujz",dcName = "xiaoniu_0824";
	private static String slnName = "eas";
	private static String language = "l2";
	private static int dbType = 2;
	
	public static void main(String[] args) {
		getBaseData();
	}
	
	public static void getBaseData()
	{
		try {  
			//1.
			Service service = new Service();    
			Call call = (Call) service.createCall();    
			call.setTargetEndpointAddress(url+"/ormrpc/services/EASLogin?wsdl");//
			call.setOperationName("login");//
			call.setMaintainSession(false); 
			call.setReturnType(new QName("urn:client", "WSContext"));  
			call.setReturnClass(WSContext.class);//
			call.setReturnQName(new QName("", "loginReturn"));  
			//
			WSContext result = (WSContext)call.invoke(new Object[]{userName,password,slnName,dcName, language,dbType});
			String sessionId = result.getSessionId();
			if(sessionId==null || sessionId.trim().length()==0)
			{
				System.out.println("登陆失败");
	//			return;
			}
			System.out.println(""+sessionId);
			//2.
            call.setTargetEndpointAddress(url+"/ormrpc/services/WSBaseDataSyncFacade?wsdl");//
            call.setMaintainSession(false);
            call.addHeader(new SOAPHeaderElement("http://login.webservice.bos.kingdee.com","SessionId", sessionId));
            call.addParameter("type", org.apache.axis.encoding.XMLType.XSD_DATE, javax.xml.rpc.ParameterMode.IN);//
            call.addParameter("startDate", org.apache.axis.encoding.XMLType.XSD_DATE, javax.xml.rpc.ParameterMode.IN);//
            call.addParameter("rows", org.apache.axis.encoding.XMLType.XSD_DATE, javax.xml.rpc.ParameterMode.IN);//
            call.addParameter("page", org.apache.axis.encoding.XMLType.XSD_DATE, javax.xml.rpc.ParameterMode.IN);//
            call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);//
            call.setOperationName("getBaseData");//
            String rows = "10";
            String page = "1";
            String startDate = "";
            
			String type = "costcenter";
           String result1 = (String)call.invoke(new Object[]{type,startDate,rows,page});
           System.out.println(result1);
		} catch (Exception e) {       
			e.printStackTrace();        
		} 
	}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值