SAS Marketing Automation---重新安装Jre

  问题: 在SAS Marketing Automatoin实施过程中,在Customer Intelligence 中使用处理节点来调用webservice,出错,在SAS9.2中单独运行soap调用,发现了出现了调用Java Proxy出错。

            错误如下:

                          ERROR: The Java proxy is not responding.
                          ERROR: The Java proxy cannot allocate memory.
                          NOTE: PROCEDURE SOAP used (Total process time):

 

        在SAS9.2中 进一步检查:使用 proc options option=jreoptions; run;                                                  

            查看jre配置信息,运行后结果如下,必须保证JREOPTIONS=( -Dsas.jre.libjvm=C:\Program Files (x86)\Java\jre6\bin\client\jvm.dll---指向有效的jre路径                      
18   proc options option=jreoptions;
19   run;

    SAS (r) Proprietary Software Release 9.2  TS2M3

 JREOPTIONS=( -Dsas.jre.libjvm=C:\Program Files (x86)\Java\jre7\bin\client\jvm.dll
-Djava.security.policy=C:\Program Files\SAS\SASFoundation\9.2\core\sasmisc\sas.policy
-Dsas.ext.config=C:\Program Files\SAS\SASFoundation\9.2\core\sasmisc\sas.java.ext.config
-Dsas.app.class.path=C:\PROGRA~1\SAS\SASVER~1\9.2\eclipse\plugins\tkjava.jar
-DPFS_TEMPLATE=C:\Program Files\SAS\SASFoundation\9.2\core\sasmisc\qrpfstpt.xml
-Djava.class.path=C:\PROGRA~1\SAS\SASVER~1\9.2\eclipse\plugins\SASLAU~1.JAR
-Djava.system.class.loader=com.sas.app.AppClassLoader -Xmx128m -Xms128m
-Djava.security.auth.login.config=C:\Program
Files\SAS\SASFoundation\9.2\core\sasmisc\sas.login.config -Dtkj.app.launch.config=C:\Program
Files\SAS\SASFoundation\9.2\picklist )
                   Java Runtime Environment options
NOTE: PROCEDURE OPTIONS used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds

        在SAS9.2中 检查java信息:运行 proc javainfo;run;返回结果如下:

                          ERROR: The Java proxy is not responding.
                          ERROR: The Java proxy cannot allocate memory.
                          NOTE: PROCEDURE SOAP used (Total process time):

       说明SAS没有调用相关的jre配置,也就是说使用proc options option=jreoptions; run;得到的-Dsas.jre.libjvm=C:\Program Files (x86)\Java\jre6\bin\client\jvm.dll配置无效。

       进一步到SAS官网确认SAS9.2支持的jre version,发现sas9.2不支持jre1.7。

 

解决方法:

         停掉SAS所有服务

      1 重新安装Jre

           到SAS官网查看SAS9.2支持的jre版本,然后到oracle官网下载32bitjre,一般为jre1.6u23.

          到windows下使用安装SAS9.2的用户来安装。(首先要停掉SAS9.2的所有服务,包括Jboss)。

           记住安装的目录,一般为C:Program Files(x86)\java\jre6.

       2  在SAS的主目录C:\Program Files\SAS\SASFoundation\9.2\nls\en下找到SASV9.CFG文件

             在次目录下备份文件SASV9.CFG为SASV9.CFG_Original。

            修改SASV9.CFG中的-JREOPTIONS=(-Dsas.jre.libjvm=C:\Program Files (x86)\Java\jre7\bin\client\jvm.dll为Dsas.jre.libjvm=C:\Program Files (x86)\Java\jre6\bin\client\jvm.dll,然后保存。

        3 启动所有SAS服务,使用proc options,以及proc javainfo验证jre是否正确被调用。

            如果成功,则更新成功。

 

 

参考:http://www.sascommunity.org/wiki/Java_JRE_1.5

     

 

附上SOAP调用例子,方法:

 

FILENAME REQUBAT 'c:\TEMP\REQUEBATCHACTLOG.XML';
FILENAME RESPBAT 'c:\TEMP\RESPBATCHACTLOG.XML';
LIBNAME CICDM ORACLE PATH=mkt SCHEMA=CIBUS USER=CIBUS PASSWORD="smart";
data work.temp; 
      length xmlelement $2048.;     
run;
%PUT &campCODE;
%PUT &commCODE;
%LET REQUEST_BAT=REQUEST_BAT;
%LET RESPONSE_BAT=RESPONSE_BAT;
%LET GROUP_ID=0;
%LET COUNT_SUBS=0;
%LET CP_SK=0;
%LET CAMPCODE=&campCODE;
%LET EXC_DATE=; 
%let comm_sk=0; 
PROC SQL NOPRINT ;
   select max(communication_sk)into :comm_sk
      from CICDM.ci_cell_package 
      where communication_cd='&commCODE';
   select cell_package_sk into :CP_SK
      from CICDM.ci_cell_package 
      where communication_sk=&comm_sk;
   SELECT COUNT(*) INTO:COUNT_SUBS
      FROM CICDM.CI_CONTACT_HISTORY_SUBS 
      WHERE CELL_PACKAGE_SK=&CP_SK;
   SELECT COUNT(SUBS_ID)INTO:COUNT_SUBS FROM &INTABLE;
QUIT;
data _null_;
%let exc_date=%sysfunc(putn(%eval(%sysfunc(today())),yymmddn8.));
%put &exc_date;
run;
PROC SQL;
      DELETE * FROM TEMP;
			INSERT INTO WORK.TEMP VALUES ('<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mkt="http://zsmart.zte.com/MKTService/">');
			INSERT INTO WORK.TEMP VALUES ('   <soapenv:Header/>                                                                                                      ');
			INSERT INTO WORK.TEMP VALUES ('   <soapenv:Body>                                                                                                         ');
			INSERT INTO WORK.TEMP VALUES ('      <mkt:SASBatchActionLog>                                                                                             ');
			INSERT INTO WORK.TEMP VALUES ("         <campaign_id>&campCODE</campaign_id>                                                                                     "); 
			INSERT INTO WORK.TEMP VALUES ("         <group_id>&GROUP_ID</group_id>                                                                                           ");
			INSERT INTO WORK.TEMP VALUES ("         <exec_date>&EXC_DATE</exec_date>                                                                                         ");
			INSERT INTO WORK.TEMP VALUES ("         <count_subs>&COUNT_SUBS</count_subs>                                                                                       ");
			INSERT INTO WORK.TEMP VALUES ('      </mkt:SASBatchActionLog>                                                                                            ');
			INSERT INTO WORK.TEMP VALUES ('   </soapenv:Body>                                                                                                        ');
			INSERT INTO WORK.TEMP VALUES ('</soapenv:Envelope>                                                                                                       ');
QUIT;
data _null_; 
      set work.temp;
      file REQUBAT;        
      put xmlelement;     
run;
proc soap in=REQUBAT  
out=RESPBAT          
url="http://192.168.73.209:8080/mkt/services/MKTServiceSOAP";
run; 


 

           

 

 

                          

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值