Hi...
 
This is regarding the Web Service Implementation with REMEDY
ARSystems7.0.
 
I am using Apache Axis as the framework to implement my web services
client.  The web services server has been configured through the Remedy
ARSystems7.0.
I get the following error messages when I attempt to run the client.
 
 
========================================================================
=================================
AxisFault
 faultCode: {http://xml.apache.org/axis/}Server.userException
 faultSubcode:
 faultString:
MessageType: 2
MessageNum: 8961
MessageText: Required element expected in the input XML document
AppendedText: <Address_2>
 faultActor:
 faultNode:
 faultDetail:
        {http://xml.apache.org/axis/}stackTrace:
MessageType: 2
MessageNum: 8961
MessageText: Required element expected in the input XML document
AppendedText: <Address_2>
        at com.remedy.arsys.api.Proxy.ARXMLCreateEntry(Native Method)
        at com.remedy.arsys.api.Util.ARXMLCreateEntry(Util.java:2646)
        at
com.remedy.arsys.ws.services.ARService.performOperation(DashOB3391:57
0)
        at
com.remedy.arsys.ws.services.ARService.processRequest(DashOB3391:142)

        at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at
org.apache.axis.providers.java.MsgProvider.processMessage(MsgProvider
.java:206)
        at
org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:
289)
        at
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrateg
y.java:71)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
        at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120)
        at org.apache.axis.server.AxisServer.invoke(AxisServer.java:312)
        at
org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:57
7)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
com.newatlanta.servletexec.ServletExec.CallServletService(ServletExec
.java:1679)
        at
com.newatlanta.servletexec.SERequestDispatcher.forwardServlet(SEReque
stDispatcher.java:274)
        at
com.newatlanta.servletexec.SERequestDispatcher.forward(SERequestDispa
tcher.java:191)
        at
com.newatlanta.servletexec.ApplicationInfo.processApplRequest(Applica
tionInfo.java:1390)
        at
com.newatlanta.servletexec.ServerHostInfo.processApplRequest(ServerHo
stInfo.java:1243)
        at
com.newatlanta.servletexec.ServletExec.ProcessRequest(ServletExec.jav
a:1235)
        at
com.newatlanta.servletexec.ServletExec.ProcessRequest(ServletExec.jav
a:1113)

MessageType: 2
MessageNum: 8961
MessageText: Required element expected in the input XML document
AppendedText: <Address_2>
        at
org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder
.java:260)
        at
org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.
java:169)
        at
org.apache.axis.encoding.DeserializationContextImpl.endElement(Deseri
alizationContextImpl.java:1015)
        at
org.apache.xerces.parsers.SAXParser.endElement(SAXParser.java:1403)
        at
org.apache.xerces.validators.common.XMLValidator.callEndElement(XMLVa
lidator.java:1456)
        at
org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.disp
atch(XMLDocumentScanner.java:1260)
        at
org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentS
canner.java:381)
        at
org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1081)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:374)
        at
org.apache.axis.encoding.DeserializationContextImpl.parse(Deserializa
tionContextImpl.java:242)
        at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:538)
        at org.apache.axis.Message.getSOAPEnvelope(Message.java:376)
        at org.apache.axis.client.Call.invokeEngine(Call.java:2583)
        at org.apache.axis.client.Call.invoke(Call.java:2553)
        at org.apache.axis.client.Call.invoke(Call.java:2248)
        at org.apache.axis.client.Call.invoke(Call.java:2171)
        at org.apache.axis.client.Call.invoke(Call.java:1691)
        at
com.primustel.pas.data.troubleticket.proxybeans.VOIP_OrdersSoapBindin
gStub.opCreate(VOIP_OrdersSoapBindingStub.java:255)
        at TestItAxis.main(TestItAxis.java:104)
========================================================================
=================================

I refered on an Internet Forum, and got the following information in
this concern :
 
The Axis generated stubs (from WSDL2Java) set all of the method
parameters to be in the header (specifically, lines of code in the stub
look like this next fragment, where the next to last parameter is true).
This controls whether input parameters are passed in the header or body.
I don't see a WSDL2Java 
option to change this - it always generates them this way.

param = new org.apache.axis.description.ParameterDesc(new
javax.xml.namespace.QName("urn:ESS_Change_Submit", "type"),
org.apache.axis.description.ParameterDesc.IN, new
javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema
<http://www.w3.org/2001/XMLSchema> ";, "string"), 
java.lang.String.class, true, false);

Now that would explain why Remedy thinks the parameter is missing.  It
apparently is looking in the body only, not the header.

I went through the stub classes and manually changed all of them to be
'false' so the parameters are in the body.  Then it works!

Now the question is :
Is this a bug in Axis, a bug in Remedy, or both?  Should Remedy support
having the parameters be in the header (which seems the default for
Axis/WSDL2Java at least based on Remedy's WSDL?)  At the very least
there seems to be a pretty painful incompatibility between Remedy and
Axis here.

Looking for some relevant repsonse in this concern.
 

Best Regards

 

Abdul Ghani MF




The information contained in this electronic message and any attachments to 
this message are intended for the exclusive use of the addressee(s) and may 
contain proprietary, confidential or privileged information. If you are not the 
intended recipient, you should not disseminate, distribute or copy this e-mail. 
Please notify the sender immediately and destroy all copies of this message and 
any attachments. 

WARNING: Computer viruses can be transmitted via email. The recipient should 
check this email and any attachments for the presence of viruses. The company 
accepts no liability for any damage caused by any virus transmitted by this 
email.
 
www.wipro.com

_______________________________________________________________________________
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org ARSlist:"Where the 
Answers Are"

Reply via email to