help! same input but different executed results different output in wm

Hello,all. I’ve met a wired problem when using webmthods,Pls help me out.
webmethods service description:the service generate the edi file if all the data is valid.
input: companyid,partnerid,batchNo
output:msgStr,fileStr
service execute:

  1. search database using batchNo,through a custom jdbc template, if every required field is not null, then the data is valid. If not, the sql is return the error message(like the email address cann’t be null) to msgStr.
    2.branch on errWholeMsg.
    if errWholeMsgis not null, it means we can’t generate the edi file. then the program will exit and return msgStr.Otherwise, the program will continue and get the right edi file from database.

the problem is that: when calling wm service from ie browser, it can executed correctly, but when called by another java application, sometimes it correctly but sometime it is not.I’ve save the pipeline data after the database validate(step 1), and found that the pipeline data is different.

ie execute pipelile data:the chinese charactor are about the validate message.like container no can’t be null
[highlight=xml]

<?xml version="1.0" encoding="UTF-8"?> BL:SNLJP0722: ctn NO、 ctn size&type、 ctn status、 cargo pieces cann't be null 2558 2558 D:\pipeline\afterDataFind.txt 2558 86 SNL CD00008001 0 BL:SNLJP0722: ctn NO、 ctn size&type、 ctn status、 cargo pieces cann't be null BL:SNLJP0722: ctn NO、 ctn size&type、 ctn status、 cargo pieces cann't be null

[/highlight]

java application pipeline data:

[highlight=xml]

<?xml version="1.0" encoding="UTF-8"?> 2558 2558 D:\pipeline\afterDataFind.txt 2558 86 SNL CD00008001 2

[/highlight]
because of the different pipeline data, the results also differed. in the java application case, errWholeMsg is null ,so the branch will not exit the program but in the IE case, errWholeMsg is not null which means the data is invalid and the program exits.

By the way, i’ve found when start the IS server, there is an error as blow:


wm.adapter.wmjdbc.admin:registerAdapter com.wm.pkg.art.error.DetailedServiceException: [ART.114.13] Adapter Runtime: Error occured while Adapter Runtime was loading adapter type “JDBCAdapter”. [ART.114.9] Adapter Runtime: Error(s) while registering adapter type JDBCAdapter.
 wm.art.adapter.deployment:registerAdapterType com.wm.pkg.art.error.DetailedServiceException: [ART.114.13] Adapter Runtime: Error occured while Adapter Runtime was loading adapter type “JDBCAdapter”. [ART.114.9] Adapter Runtime: Error(s) while registering adapter type JDBCAdapter. 
wm.art.adapter.deployment:registerAdapterType [ART.114.13] Adapter Runtime: Error occured while Adapter Runtime was loading adapter type “JDBCAdapter”. [ART.114.9] Adapter Runtime: Error(s) while registering adapter type JDBCAdapter. 
wm.art.adapter.deployment:registerAdapterType [ART.114.9] Adapter Runtime: Error(s) while registering adapter type JDBCAdapter.
wm.art.adapter.deployment:registerAdapterType [ART.118.5057] Adapter Runtime (Connection): Adapter Runtime was unable to initialize 1 connection resources for the adapter “JDBCAdapter”.  

Does anybody have met this problem before? Please help. And advice or commands are highly appreciated.
Many thanks.
Nancy

Make sure you have a clearPipeline step at the end of your service. You could even test putting one at the beginning and preserve your input variables.

What is your JDBC transaction set to? (XA, NO, or LOCAL)

Also, the error from the server, is there more information? Maybe check the server.log file to see if it gives more detail.

Just brainstorming here,
Cort

thanks Cort.
I’ve clear the pipeline both at the beginning and ending.
The JDBC transaction is set to LOCAL. Is there any difference among these three types? And will this parameter effect the sql result?
when execute the service there are many warning like message in server.log (when starting the IS server at debug 6): copy from para1 to para2 failure, does this kind of message matter? I’ve met lots of this warning before but do nothing about it.
Thanks a lot.
Nancy

By the way, right now, we also found that after the java application doing the commit, and then call the wm service, but at the service beginning, it can’t find the data commited. If we sleep 2 seconds, the problem haven’t surfaced till now.
Nancy