Author Message
chukiatdenkongpon
Joined: Nov 7, 2013
Messages: 97
Offline
Hi

I have the problem that could not load WSDL file from AXIS2 wizard with error: - org.apache.axis2.wsdl.codegen.CodeGenerationException: Error parsing WSDL.

WSDL Server engineer informs us that they just change version comply from JRE1.5 to JRE 1.6 and recomply to WS Server.

And We can test and getting method from SOAP UI properly.
Besides, we can custom code with Java app to getting method from this WS Server properly.
So is it have any other solution to let AAOD AXIS2 load WSDL and build it?

Note: This is banking system that don't allow to post WSDL file to this forum.
Please guide us on how to fixed it.

THank you.

Best Regards,
Chukiat D.
SamareshKowshik
Joined: Nov 6, 2013
Messages: 351
Offline
I can't say what the problem is without knowing what the error actually is. Unfortunately, the Axis2 connector doesn't really give more details, but try loading it in the Axis 1.4 connector. Do not go through the entire wizard, but just see if it gives an error. If it does, post that here. It usually gives more details, so that will help in figuring out what's going on.

If you can't post the WSDL here, are you able to email it? If so, my email is:

srkowshik@avaya.com
chukiatdenkongpon
Joined: Nov 7, 2013
Messages: 97
Offline
Hi

Now, I could be able to load WSDL file from WS Server and be able to mapping Method from Wizard.
However, when I call one method and we got the error output with detail below:-

ERROR - ForceExpand: expected element name tinChange, found verifyTin

But it can be able to test by using SOAPUI 4.6 tool that get output properly.

Besides, we test by using custom code and got the error

"org.apache.axis2.databinding.ADBException: Unexpected subelement"..

JAVA ERROR:


org.apache.axis2.AxisFault: org.apache.axis2.databinding.ADBException: Unexpected subelement currentTimestamp
CreateResponse at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430) …


Note: Correct Input parameter / Wrong Input Parameter

Positive Response : <Correct Input parameter >

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns1:tinChangeResponse xmlns:ns1="http://endpoint.security.amivr.nfs.scb.com/"><return><response><status>1</status><currentTimestamp>2014-10-13T20:34:26.928+08:00</currentTimestamp></response></return></ns1:tinChangeResponse></soap:Body></soap:Envelope>


Negative Response : ( the error code may vary based on the error) <== It will pass one more parameter name: errorCode

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns1:verifyTinResponse xmlns:ns1="http://endpoint.security.amivr.nfs.scb.com/"><return><response><status>0</status><errorCode>ERR_SEC_INVALID_TIN</errorCode><currentTimestamp>2014-10-14T15:57:32.510+08:00</currentTimestamp><errorMessage>com.scb.nfs.base.exception.BusinessException: [ERR_SEC_INVALID_TIN]</errorMessage></response><isSecondCallRequired>false</isSecondCallRequired><isTinChangeRequired>false</isTinChangeRequired></return></ns1:verifyTinResponse></soap:Body></soap:Envelope>



Please give us any suggestion.

Chukiat D.
SamareshKowshik
Joined: Nov 6, 2013
Messages: 351
Offline
Hmm, it sounds like your client and server aren't synced. "Unexpected subelement" happens when the request has elements in the wrong order, is missing elements, is sending more elements than it should, and any combination of those. Try and see where the error comes from. You mention the exception in the console, but maybe there's more information on the server-side.
chukiatdenkongpon
Joined: Nov 7, 2013
Messages: 97
Offline
Hi

I send error, wsdl, and AAOD App that testing.
So please help me check and give me any suggestion.

Thank you.

Best Regards,
Chukiat D.
chukiatdenkongpon
Joined: Nov 7, 2013
Messages: 97
Offline
Hi SamareshKowshik ,

Could you please give us any suggestion on this case from WSDL file that provided to you?

Thank you.

Best Regards,
Chukiat D.

SamareshKowshik
Joined: Nov 6, 2013
Messages: 351
Offline
I sent the following to your email address a few weeks ago. It's copy/pasted below:

Hi Chukiat,

I've taken a look and I can't really see anything there that could be wrong. There is a lot of code, but I think the core of it you have correctly, at least for the Axis2 stuff. Unfortunately, I can't simulate anything in SoapUI because I don't have the entire web service definition. The WSDL file in the project imports another file, which I do not have access to.

One thing you could try is to uncheck the Unwrap Parameters check boxes in the WSOP wizard. Then, your code would change to include the VerifyTinE object:


public void servletImplementation(com.avaya.sce.runtimecommon.SCESession mySession) {
VerifyTinE vte = new VerifyTinE();
VerifyTin vt = new VerifyTin();
TinVerificationRequest tvr = new TinVerificationRequest();
UserContext uc = new UserContext();

uc.setCountry("TH");
uc.setChannel("IVR");
uc.setEnvironment("");
uc.setLanguage("");
uc.setRequestId("");
uc.setServiceId("");
uc.setSessionId("");
uc.setToken("");
uc.setUserId("100000215");

tvr.setHashedTin(getHash256("654321"));
tvr.setIsJointAccount(false);
tvr.setIsSME(false);
tvr.setPbid("100000215");
tvr.setPdwCode("");
tvr.setRelId("");
tvr.setRsaKeyAlias("");
tvr.setSessionNonce("");

vt.setUserContext(uc);
vt.setRequest(tvr);

vte.setVerifyTin(vt);
mySession.getVariableField(IProjectVariables.PARAMETERS).setValue(vte);
}


Then the Data node would run, and that should be the end of it. The last thing you could try is to avoid using the WSOP editor and invoke the service using Java only. However, because you are using Username Token, the code gets more complicated. Let me know if you want to try that method and I’ll give you some code to set it all up.

If you are able to get the WSDL file imported into the one you sent me, that would be great. I can investigate further that way. The name and location are:

https://10.20.161.31:1971/nfs/services/SecurityService?wsdl=SecurityService.wsdl

I’m assuming this web service call worked previously, but something was changed recently. Could you elaborate on what the change was?

Thanks,
Sam
SamareshKowshik
Joined: Nov 6, 2013
Messages: 351
Offline
I don't know if it's entirely clear, but the final solution that would most likely work is to invoke the web service completely using Java, rather than the WSOP. That code isn't provided, but if you would like to try that, I can get you started. I wasn't really sure what had changed, so give me an update on how you have progressed.
Go to:   
Mobile view