Hi,

Actually the error [1] is happened when create the object for
ProgramCallDocument
[2], even though I mocked [3] . Based on the offline discussion with
Hemika, It's seems like the mocking is not working. Can any one please
advise me on this?

[1]org.apache.synapse.SynapseException: Unable to connect to AS400 server:
A parse error occurred.

at org.apache.synapse.mediators.AbstractMediator.handleException(
AbstractMediator.java:325)
at org.wso2.carbon.connector.pcml.AS400CallProgram.connect(
AS400CallProgram.java:158)
at org.wso2.carbon.connector.pcml.test.unit.AS400CallProgramUnitTest.
testAS400CallProgram(AS400CallProgramUnitTest.java:86)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(
NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(
DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(
MethodInvocationHelper.java:80)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:673)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:842)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1166)
at org.testng.internal.TestMethodWorker.invokeTestMethods(
TestMethodWorker.java:125)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
at org.testng.TestRunner.runWorkers(TestRunner.java:1178)
at org.testng.TestRunner.privateRun(TestRunner.java:757)
at org.testng.TestRunner.run(TestRunner.java:608)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)
at org.testng.SuiteRunner.run(SuiteRunner.java:240)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1158)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1083)
at org.testng.TestNG.run(TestNG.java:999)
at org.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:72)
at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:127)
Caused by: com.ibm.as400.data.PcmlException: A parse error occurred.
at com.ibm.as400.data.ProgramCallDocument.loadSourcePcmlDocumentFromStre
am(ProgramCallDocument.java:1435)
at com.ibm.as400.data.ProgramCallDocument.<init>(
ProgramCallDocument.java:265)
at org.wso2.carbon.connector.pcml.AS400CallProgram.connect(
AS400CallProgram.java:92)
... 25 more
Caused by: com.ibm.as400.data.ParseException: Premature end of file.
1 error detected parsing pcml document.

at com.ibm.as400.data.PcmlSAXParser.<init>(PcmlSAXParser.java:231)
at com.ibm.as400.data.ProgramCallDocument.loadSourcePcmlDocumentFromStre
am(ProgramCallDocument.java:1427)
... 27 more
[2]https://github.com/jananithangavel/esb-connector-pcml/
blob/master/src/main/java/org/wso2/carbon/connector/pcml/AS4
00CallProgram.java#L91
[3]https://github.com/jananithangavel/esb-connector-pcml/
blob/2f3f9585225750c6f009a039ef716a520ca2bdf3/src/test/java/
org/wso2/carbon/connector/pcml/test/unit/AS400CallProgramUnitTest.java#L79

Janani Thangavel
Associate Software Engineer
WSO2 Inc : http://wso2.org
<http://www.google.com/url?q=http%3A%2F%2Fwso2.org&sa=D&sntz=1&usg=AFQjCNE_eTDfyl2ibPcq0hcXvRDNVuQmMg>
Mobile       : +94771856427 <+94%2077%20185%206427>

On Wed, Oct 11, 2017 at 12:25 PM, Hemika Kodikara <[email protected]> wrote:

> Hi Janani,
>
> The actual backend call happens at line [1]. So if you can mock that
> backend call, then you should be fine.
>
> The ProgramCallDocument is basically an PCML file(XML structure)
> representing the inputs and outputs of a program in the AS400. Its only an
> object. It does not make any backend calls.
>
> See "Sample 1" [2] for an actually PCML document.
>
> [1] - https://github.com/jananithangavel/esb-connector-pcml/
> blob/master/src/main/java/org/wso2/carbon/connector/pcml/AS4
> 00CallProgram.java#L110
> [2] - https://docs.wso2.com/display/ESBCONNECTORS/Working+with+
> Call+Operation+in+AS400
>
> Regards,
> Hemika
>
> Hemika Kodikara
> WSO2 Inc.
> lean . enterprise . middleware
> http://wso2.com
>
> Mobile : +94777688882 <+94%2077%20768%208882>
>
> On Wed, Oct 11, 2017 at 11:42 AM, Janani Thangavel <[email protected]>
> wrote:
>
>> Adding Hemika.
>>
>> Janani Thangavel
>> Associate Software Engineer
>> WSO2 Inc : http://wso2.org
>> <http://www.google.com/url?q=http%3A%2F%2Fwso2.org&sa=D&sntz=1&usg=AFQjCNE_eTDfyl2ibPcq0hcXvRDNVuQmMg>
>> Mobile       : +94771856427 <+94%2077%20185%206427>
>>
>> On Wed, Oct 11, 2017 at 11:40 AM, Janani Thangavel <[email protected]>
>> wrote:
>>
>>> Hi All,
>>>
>>> Currently I'm working on the unit testing [1] for AS400 pcml connector. 
>>> Inside
>>> the pcml connector we are creating a instance for ProgramCallDocument
>>> [2]. It calls actual back end Server. So, I'm trying to mock
>>> that ProgramCallDocument as follow [3]. Even if I mock, It calls the actual
>>> back end service and get the error as [4]. Am I doing anything wrong?
>>> Please help me on this.
>>>
>>>
>>> [1]https://github.com/wso2-extensions/esb-connector-pcml/pull/9
>>> [2]https://github.com/jananithangavel/esb-connector-pcml/blo
>>> b/master/src/main/java/org/wso2/carbon/connector/pcml/AS400C
>>> allProgram.java#L91
>>> [3]https://github.com/jananithangavel/esb-connector-pcml/blo
>>> b/2f3f9585225750c6f009a039ef716a520ca2bdf3/src/test/java/org
>>> /wso2/carbon/connector/pcml/test/unit/AS400CallProgramUnitTest.java#L79
>>> [4]org.apache.synapse.SynapseException: Unable to connect to AS400
>>> server: A parse error occurred.
>>>
>>> Thanks.
>>>
>>> Regards,
>>> Janani Thangavel
>>> Associate Software Engineer
>>> WSO2 Inc : http://wso2.org
>>> <http://www.google.com/url?q=http%3A%2F%2Fwso2.org&sa=D&sntz=1&usg=AFQjCNE_eTDfyl2ibPcq0hcXvRDNVuQmMg>
>>> Mobile       : +94771856427 <+94%2077%20185%206427>
>>>
>>
>>
>
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to