The response is improperly formed XML. This is caused by a bug in Main.wod:
XMLNode4: WOXMLNode {
elementName = "r:SingleEndpoint";
mustUnderStand = "1";
"xmlns:SingleEndpoint" = "http://vendor.demo/endpoint";
"xsi:type" = "xsd:int";
}
The line
"xmlns:SingleEndpoint" = "http://vendor.demo/endpoint";
should be
"xmlns:r" = "http://vendor.demo/endpoint";
Scott Nichol
----- Original Message -----
From: "Lui" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Friday, June 14, 2002 1:13 PM
Subject: Re: Webobjects and SOAP
> Scott,
>
> Thank you for your detail response. I did find out
> that the reason I was gettting the 411 SOAPFault was
> because I was missing the appropriate DirectAction in
> my URL .
>
> The SOAP server runs on the WO java app server. I am
> testing with the sample Server as a learning exercise.
>
>
> As you said, I am having errors in parsing the SOAP
> Response due to the returning header. I am using this
> chunk of code to display the elements from the
> SOAPResponse:
>
> // Get DocumentBuilder to parse Response
> xdb = XMLParserUtils.getXMLDocBuilder();
> // Use input XML file as InputSource to
> parse()
> InputSource is = new InputSource(br);
> doc = xdb.parse(is);
>
> // Get the Root Element and print it
> Element elem = doc.getDocumentElement();
> System.out.println("Root Element is: " +
> elem.getTagName());
>
> // Get all of the Child Elements and print
> them one by one
> NodeList children =
> elem.getElementsByTagName("*");
> int cnt = children.getLength();
> for (int i = 0; i < cnt; i++) {
> Node n = children.item(i);
> String name = n.getNodeName();
> String val =
> n.getFirstChild().getNodeValue();
> System.out.println(name + ": " + val);
> }
>
> The resulting SOAPResponse looks like this:
>
> XML SOAPResponse Document:
>
> <SOAP-ENV:Envelope
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope"
>
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding"><SOAP-ENV:
Header><r:SingleEndpoint
> mustUnderStand="1"
> xmlns:SingleEndpoint="http://vendor.demo/endpoint"
>
xsi:type="xsd:int">0</r:SingleEndpoint></SOAP-ENV:Header><SOAP-ENV:Body><m:O
rderResponse
>
xmlns:m="http://vendor.demo/demo/response"><ConfirmationNumber>E1114964844</
ConfirmationNumber></m:OrderResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
>
> Getting error:
>
> XML SOAPResponse Document:
> [Fatal Error] :2:268: The prefix "r" for element
> "r:SingleEndpoint" is not bound.
> Exception in thread "main"
> org.xml.sax.SAXParseException: The prefix "r" for
> element "r:SingleEndpoint" is not bound.
> at
> org.apache.xerces.parsers.DOMParser.parse(DOMParser.java:235)
> at
>
org.apache.xerces.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:20
1)
> at POClient.sendSoapRequest(POClient.java:131)
> at POClient.main(POClient.java:165)
>
> Sharon
> -------------------------
> ----------------
> From: Scott Nichol <[EMAIL PROTECTED]>
> Date: Thu Jun 13, 2002 07:57:46 PM US/Pacific
> To: [EMAIL PROTECTED]
> Subject: Re: Webobjects and SOAP
> Reply-To: [EMAIL PROTECTED]
>
> Some things I see from Apple's source.
>
> 1. The 411 fault comes from
> DirectAction#defaultAction. This means your Apache
> SOAP client is not using the correct URL. It must use
> http://server[:port]/cgi-bin/WebObjects/SOAPServer.woa/wa/OrderInterface
> (SOAPTransport.java).
>
> 2. The WO SOAP server determines the service to invoke
> from that URL, so it does
> not make any difference what your client specifies as
> the target URI.
>
> 3. The namespace used for the method and parameters
> sent by the client
> (SOAPBuilder.java) is
> http://wwdc-demo.apple.com/soap/request/, but the
> server
> (Main.java) ignores this. The method is named Order.
> The parameters are named
> OrderItems, CustomerID and BillMethod.
>
> 4. The response (Main.wod, Main.html) has a SOAP
> Header with an element that has
> a mustUnderstand="1" attribute, which *should* be a
> problem, but maybe Apache
> SOAP ignores this. The SOAP Body has an OrderResponse
> element in the namespace
> http://vendor.demo/demo/response, which itself
> contains an element named
> ConfirmationNumber. This does not have an xsi:type
> attribute, so you will need
> to use the Apache SOAP mapping workaround for this.
>
> The bottom line is that it should be possible to write
> an Apache SOAP client
> that will work with this server, but I personally
> would not recommend using the
> server sample as a template for implementing SOAP
> services, since so much is
> hard-coded and the SOAP implementation is lacking.
> IMHO, you would be better
> off using Apache SOAP in the J2EE application server
> that is part of WO 5.x.
>
> Scott Nichol
>
> ----- Original Message -----
> From: "Scott Nichol" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Thursday, June 13, 2002 10:01 PM
> Subject: Re: Webobjects and SOAP
>
>
> Sharon,
>
> I see the source is on Apple's Web site, e.g.
>
>
http://developer.apple.com/samplecode/Sample_Code/WebObjects/SOAPClient/SOAP
Tran
> sport.java.htm. Can you post the source for your
> client so I can have a look?
>
> Thanks.
>
> Scott Nichol
>
> ----- Original Message -----
> From: "Scott Nichol" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Thursday, June 13, 2002 9:51 PM
> Subject: Re: Webobjects and SOAP
>
>
> Sharon,
>
> Did you get any response to this? I have experience
> with WO 4, but not 5.x
> and
> the sample SOAP server. Does Apple provide any sample
> client code for the
> SOAP
> server? If so, it would be useful to either look at
> that source or run the
> client and capture the data sent over the weire. If
> not, is source provided
> for
> the SOAP server?
>
> Out of curiosity, does the SOAP server run on the J2EE
> app server or the WO
> Java
> app server?
>
> Scott Nichol
>
> ----- Original Message -----
> From: "Lui" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Wednesday, June 12, 2002 5:45 PM
> Subject: Webobjects and SOAP
>
>
> Greetings,
>
> I am new to SOAP. I am trying to write an apache SOAP
> client sending SOAPRequests to the sample SOAP server
> that comes with WebObjects 5.1. I just keep giving the
> 411 SOAPFault Response. I need some help. If you are
> familiar with WebObjects and willing to take a look at
> what I have so far, could you send me a response?
>
> Thanks in advance for your help.
> Sharon
> [EMAIL PROTECTED]
>
> __________________________________________________
> Do You Yahoo!?
> Yahoo! - Official partner of 2002 FIFA World Cup
> http://fifaworldcup.yahoo.com
>
>
>
>
>
>
>
> __________________________________________________
> Do You Yahoo!?
> Yahoo! - Official partner of 2002 FIFA World Cup
> http://fifaworldcup.yahoo.com
>