使用NetBeans IDE自动生成代码调用netweaver PI 接口
PI接口示例 http://epdev.want-want.com:50000/dir/wsdl?p=sa/23249b0ef1d0373191e2b6b3b32413b6
1. 打开NetBeans IDE,新建一个project
然后下一步,下一步,完成!
2. 在新建好的project的源包下面,新建一个package
3. 在新建好的package下面,创建一个webservice客户端(如果找不到,在其他里面找)
然后会弹出验证,填写用户名,密码,有些接口无需验证。
(username:123456, password:123456)
日志窗口可以查看生成状态
在源包下面,会生成一个新的package,里面就是生成的代码
4. 将生成好的代码copy到eclipse项目相同的package里面
5. 修改代码
(1) 打开以service结尾的类
url =new URL(PropertiesUtil.getProperty("wsdlLocation.test"));
Authenticator.setDefault(newAuthenticator() {
protectedPasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(PropertiesUtil.getProperty("wsdlLocation.username"),
PropertiesUtil.getProperty("wsdlLocation.password").toCharArray());
}
});
(2) 上述修改中,需要使用PropertiesUtil来读取配置文件,此读取配置工具可在want-attendance里面找到,或者自行新建,代码如下:
importjava.io.IOException;
importjava.util.Properties;
publicclass PropertiesUtil {
static Properties properties = newProperties();
static {
try {
properties.load(PropertiesUtil.class.getResourceAsStream("/properties/webservice.properties"));
} catch (IOException e) {
e.printStackTrace();
}
}
public static String getProperty(Stringkey) {
return properties.getProperty(key);
}
}
(3) 在properties文件夹下面,新建webservice.properties,告知PropertiesUtil读取内容
6. 测试接口:没出现异常,表示接口已经调通
7. 接口用法:
基本和上述测试一样,但是我们的SIOZRFCBPM33Service已经交给Spring管理所以只需要使用@Autowired自动注入就行,不用每次都去new一个。