VS调用Java的WebService

一、VS调用Java的Webservice时第一步需先添加Web引用,新建一个Asp.net项目,或在原有的项目“WebReferenceces”单击右键选择添加Web引用,如下图

 VS调用Java的WebService_第1张图片

二、在URL(U)一栏填入所引用的WebService地址,以OA测试服务器10.1.1.78:81所提供的WebService和以OA验证服务authorityService为例,应在地址栏输入http://10.1.1.79:81/seeyon/services/authorityService?wsdl,修改相应的Web引用名,如下图:

 VS调用Java的WebService_第2张图片

三、如需添加更多的Java WebService服务,则重复以上步奏,修改方法名称,修改Web引用名称后,逐个添加即可,如下图:

VS调用Java的WebService_第3张图片

 

四、服务添加完成即可编写代码调用,下面以身份验证方法为例,做WebService方法的调用示范,编写客户端代码。如下

public stringgetTokenId(string userName, string pwd)

        {

            AuthorityService.authorityService au = newAuthorityService.authorityService();

            AuthorityService.UserToken Token = au.authenticate(userName,pwd); 

            returnToken.id;

        }

使用OA提供的验证服务AuthorityService中的authenticate()方法生成Token,传递参数“用户名”和“密码”,目前生成Token的用户名和密码是在后端写死的,只能使用用户名:service-admin;密码:123456。“Token.id”作为调用其他方法是的身份令牌,有效时间15分钟。

 

五、OA所提供的Java服务端的WebService方法绝大部分都需要身份令牌作为第一个参数。下面以OA单位管理服务accountService中的getAccountByCode(String token, String accountCode)方法,为例说明Token.id的用法。

public void testWS(string token)

        {

            AccountService.accountService acc = newAccountService.accountService();

            AccountService.AccountInfoParam_All all =acc.getAccountByCode(token, "cg");

            Response.Write(all.name);

        }

getAccountByCode()方法可以根据所传递进来的单位Code查询出相关的单位信息,在调用testWS()方法时,需要先生成一个身份令牌。

string token = getTokenId("service-admin", "123456");

然后生成的此token可以应用在以下所有的需要调用的方法中,不需要再次生成。

testWS(token);

查询Code为“cg”的单位相关信息,输出all.name此单位的名称。页面上显示出“工程研究院”,表示查询成功,调用完成。

 VS调用Java的WebService_第4张图片

六、其他方法的调用类似,在OA二次开发文档的SOAP远程接口目录下有详细介绍,

VS调用Java的WebService_第5张图片

在使用OA的WebService方法时,应参考相应的方法说明,如单位管理服务,在单位管理服务页面有WebService所提供的接口列表,接口说明,以及单位实体。如下图:

VS调用Java的WebService_第6张图片

七、只需熟悉相应的方法用途,即可在C#平台上完成OA系统的二次开发。

你可能感兴趣的:(C#)