Thanks for all your ideas.
I did some testing with a web service 'SimpleWebService' on a form
'Simple' and found out the response output from Remedy 6.03.00 web
service use a different namespace(urn:Simple) than the web service
namespace(urn:SimpleWebService), the OutputMap
classes(CreateOutputMap.java/GetOutputMap.java) generated by WSDL2Java
is expecting namespace urn:SimpleWebService, the namespace didn't match
so it got the error.
There may be a better way to address this issue, like making the Java
Client not depending on the namespace matching to web service response,
but what I did to fix the problem was to modify
OutputMap(CreateOutputMap.java/GetOutputMap.java) class files and change
the namespace to match the namespace in Remedy web service response
output for each field in the output mapping.
Ex:
//Before edit
field.setXmlName(new javax.xml.namespace.QName("urn:SimpleWebService",
"Status"));
-->
//After edit
//field.setXmlName(new javax.xml.namespace.QName("urn:SimpleWebService",
"Status"));
field.setXmlName(new javax.xml.namespace.QName("urn:Simple", "Status"));
Please let me know if there is a way to make the Java client namespace
independent.
The namespace in the Remedy response output used to be the name of the
web service in 6.00.01, it seems have changed in 6.03.00.
The following is what I found in the 6.03.00 mid-tier log, notice the
xmlns="urn:Simple" instead of "urn:SimpleWebService" in the output
Dec 1, 2006 9:55:00 AM - FINE (com.remedy.midtier.WEBSERVICES) : (Thread
146) input document: <?xml version="1.0" encoding="UTF-8"?>
<ROOT xmlns="urn:SimpleWebService">
<Assigned_To>Frank</Assigned_To>
<Short_Description>Testing Axis Client</Short_Description>
<Status>New</Status>
<Submitter>Joe</Submitter>
</ROOT>
Dec 1, 2006 9:55:00 AM - FINE (com.remedy.midtier.WEBSERVICES) : (Thread
146) output document from AR Server: <?xml version="1.0"
encoding="utf-8"?>
<ROOT xmlns="urn:Simple" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Request_ID>000000000000003</Request_ID>
</ROOT>
------------------------------------------------------------------------
-------------------------------------------------
The following is what I found in the 6.00.01 mid-tier log.
<DEBUG> <input document: <?xml version="1.0" encoding="UTF-8"?>
<ROOT xmlns="urn:SimpleWebService">
<Assigned_To>Frank</Assigned_To>
<Short_Description>Testing Axis Client</Short_Description>
<Status>New</Status>
<Submitter>Joe</Submitter>
</ROOT>>
<ARTID~22> <WebServices> <2006-12-04 12:24:19,937>
<com.remedy.arsys.ws.services.ARService.checkStatus(Unknown Source)>
<DEBUG> <STATUS MESSAGE COUNT: 0>
<ARTID~22> <WebServices> <2006-12-04 12:24:19,937>
<com.remedy.arsys.ws.services.ARService.createOutputDocument(Unknown
Source)> <DEBUG> <OUTPUT DOC: <?xml version="1.0" encoding="utf-8"?>
<ROOT xmlns="urn:SimpleWebService"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Request_ID>000000000000002</Request_ID>
</ROOT>
>
<ARTID~22> <WebServices> <2006-12-04 12:24:19,937>
<com.remedy.arsys.ws.services.ARService.createOutputDocument(Unknown
Source)> <DEBUG> <RESPONSE: <?xml version="1.0" encoding="UTF-8"?>
<OpCreateResponse xmlns="urn:SimpleWebService"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Request_ID>000000000000002</Request_ID>
</OpCreateResponse>>
-----Original Message-----
From: Action Request System discussion list(ARSList)
[mailto:[EMAIL PROTECTED] On Behalf Of Dan Hardy
Sent: Friday, December 01, 2006 1:58 PM
To: [email protected]
Subject: Re: AR WebServices not parsing ok
Are you using Axis and wsdl2java for your Java client?
I've found that Axis (1.4, I think) is incompatible with Remedy web
services. I've needed to manually modify the output classes from
wsdl2java to get it to work.
The generated stubs looked for responses in the body, but they are sent
in the header by Remedy (or vice versa, I can't remember). The input
parameters were also sent in the wrong place, so I had to change a
boolean flag on each parameter. I ended up finding this after debugging
through Axis' source code.
Unfortunately, I couldn't find any settings of wsdl2java or Axis that
fixed this, and had to manually modify the stubs after generating them
from the wsdl.
Dan
-----Original Message-----
From: Action Request System discussion list(ARSList)
[mailto:[EMAIL PROTECTED] On Behalf Of Bruce Jeng
Sent: Friday, December 01, 2006 1:25 PM
To: [email protected]
Subject: Re: AR WebServices not parsing ok
Hi,
I am having similar OutputMapping problem with Java web service client
consuming Remedy 6.03 web service, wonder anyone would have a solution
for this.
My web service has a Create and Get operation, the Java web service
client I built is getting error "Invalid element in
ARWSClient.CreateOutputMap - Request_ID" on the Create operation, it
successfully created an entry in the form but not able to process the
output response properly.
It has the same problem processing the output response from the Get
operation too, "Invalid element in ARWSClient.GetOutputMap -
Assigned_To".
The mid-tier log shows proper output response for both Create and Get
operation, somehow my Java client is not able to process the response.
Would appreciate if anyone could share some ideas on this.
Thanks!
Bruce
________________________________________________________________________
_______
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org ARSlist:"Where
the Answers Are"
________________________________________________________________________
_______
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org ARSlist:"Where
the Answers Are"
_______________________________________________________________________________
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org ARSlist:"Where the
Answers Are"