Hi Scott,
I have one question for you.
I have a need to create the XML instance document from the XSD files. So
what do you suggest the best way to do it. Sun clains there is a utility
called xmlgen but I saw that it says that its a command line utility. I need
some kind of programming API to generate XML from XSD. Or I will have to
write it myself?
Please suggest the best possible solution?

regards,
dheeraj

----- Original Message ----- 
From: "Scott Nichol" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, March 29, 2004 6:50 AM
Subject: Re: Server was unable to read request


Before pointing you in a direction using Apache SOAP, let me point out that
if you are new to Apache SOAP, you should use Apache Axis instead.  Axis
supports more specs than Apache SOAP and continues to evolve.  It supports
WSDL and has a tool that can process the WSDL and create any necessary
client proxy classes.  For a generic complexType as shown in the WSDL, it
will probably let you create a DOM fragment to pass to the service.

Now, if you insist on using Apache SOAP...

The service is expecting a complexType, which corresponds to a bean in Java.
Instead of the string, you need to use classes like

class _Application_Identification {
    public string AppId;
}

class _Data {
    public double Amount;
}

Then you register these types to use the BeanSerializer (fill in the call
params)

smr.addType(... _Application_Identification ...);
smr.addType(... _Data ...);

Then you add instances of these to the parameters Vector.

Scott Nichol

Do not send e-mail directly to this e-mail address,
because it is filtered to accept only mail from
specific mail lists.
----- Original Message ----- 
From: "nilesh" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, March 29, 2004 7:07 AM
Subject: Server was unable to read request


Hi all,

i am getting following SOAP Fault error...

 Fault Code = soap:Client
 Fault String = Server was unable to read request. --> There is an error in
XML
document (6, 3). --> The element 'urn:schemas-nil:dal:webservices:messag
eschemas/authorisation_input:Input_Message' cannot contain text. Expected
 'urn:schemas-nil:dal:webservices:messageschemas/operational:Operational
'. An error occurred at , (1, 106).

Thsi is my code of java soap client..

String TEST_XML = "<Input_Message
xmlns=\"urn:schemas-nil:dal:webservices:messageschemas\"><Operational><Appli
cation_Identification><AppId>A2G</AppId></Application_Identification></Opera
tional><Data><Amount>123567.12</Amount></Data></Input_Message>";

URL url = new URL ("http://192.168.1.7/PayAuth2/Authorisation_Stub.asmx";);


SOAPMappingRegistry smr = new SOAPMappingRegistry ();
StringDeserializer sd = new StringDeserializer ();
smr.mapTypes(Constants.NS_URI_SOAP_ENC,new QName
("","AuthoriseResult"),null, null, sd);
Call call = new Call ();
call.setSOAPTransport(st);
call.setSOAPMappingRegistry (smr);
call.setTargetObjectURI ("urn:schemas-nil:dal:webservices/authorisation");
call.setMethodName("Authorise");
call.setEncodingStyleURI (Constants.NS_URI_SOAP_ENC);
call.getSOAPContext().setDocLitSerialization(true);
Vector params = new Vector();
params.addElement(new Parameter("request",java.lang.String.class, TEST_XML,
Constants.NS_URI_SOAP_ENC));
call.setParams(params);

Response resp = null;
try {
   resp = call.invoke (url,
"urn:schemas-nil:dal:webservices/authorisation/Authorise");
}
catch (SOAPException e) {
System.err.println("Caught SOAPException (" + e.getFaultCode () + "): " +
e.getMessage ());
return;
}


my WSDL file looks like this....

- <s:element name="AuthorisePayment">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="request">
- <s:complexType>
- <s:sequence>
  <s:any
namespace="urn:schemas-nil:dal:webservices:messageschemas/authorisation_inpu
t" />
  </s:sequence>
  </s:complexType>
  </s:element>
  </s:sequence>
  </s:complexType>
  </s:element>

  is becuase i am sendig java.lang.String.class but its expecting
<s:complexType>. can tell me the solution for this...

Reply via email to