我们有一个SAS代码,其中部署了Proc SOAP以向外部系统发送请求,我们希望利用Java代码在SAS中执行请求而不是PROC SOAP。
这项任务的解决方案是什么?
答案 0 :(得分:3)
值得注意的是,PROC SOAP(和PROC HTTP)只是围绕Java库的SAS包装器。所以你要求重新发明轮子。虽然有时SAS的车轮不到圆形......
解决方案1:
编写一个命令行Java程序来进行调用。它将文本文件作为输入并输出带有结果的文本文件。使用数据步骤创建输入文件,使用x
命令调用程序,使用另一个数据步骤来读取生成的文本文件。
解决方案2: 用Java编写一个简单的对象来进行调用。使用Data Step中的Java Object元素来实例化对象,填充相应的变量,然后运行适当的方法。请参阅此处的文档:http://support.sas.com/documentation/cdl/en/lecompobjref/67221/HTML/default/viewer.htm#p1p8iy7j6aa64mn13g6a1cvauwww.htm
选项1更多"旧学校" SAS并不应该太难。您的Java程序员和SAS程序员必须就输入和输出格式达成一致。
选项2涉及更多,需要在Java和SAS程序员之间更紧密地工作。
在选项2中,SAS代码与Java紧密耦合。出于这个原因(以及你开始使用SOAP服务的原因),我会选择选项1。