Open glassfishrobot opened 17 years ago
Reported by daveronge@java.net
daveronge@java.net said:
Correcting copy paste typo:
<<<
</s:Body> <<<
This is the failing message part form WCF client.
daveronge@java.net said: Created an attachment (id=397) jsr109 SEI java source
daveronge@java.net said: Created an attachment (id=398) wsit-*.xml file for the endpoint
daveronge@java.net said: Created an attachment (id=399) part of server log showing WCF request and Ping.java output
daveronge@java.net said: (Caught NPE is secondary here as originally the test case relies upon having some specific info in the message.)
daveronge@java.net said: Created an attachment (id=400) "Well-formed" message that succeeds with corresponding SEI output log
daveronge@java.net said: Created an attachment (id=401) WCF request msg with corrected Ping tag with corresponding Ping.java output log
daveronge@java.net said: (Again the NPE here is secondary due to message content - this case is OK.)
daveronge@java.net said: Created an attachment (id=402) Failing WCF message reproduce using modified EndpointRequester
daveronge@java.net said: Last three attachments come from running EndpointRequester suited to send arbitrary messages first to create sequence and then send one Ping message. (The sequence identifier had to be substituted accordingly each time.) Appended are source messages used to feed the sequence (they are better formatted). Sequence identifiers may not correspond as they have been substituted on the fly.
(CreateSequence:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:a="http://www.w3.org/2005/08/addressing">
</s:Body>
</s:Envelope>
)
Correct Tango client message:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:r="http://schemas.xmlsoap.org/ws/2005/02/rm"
xmlns:a="http://www.w3.org/2005/08/addressing">
daveronge@java.net said: Nevertheless when going back to #652 (now invalid) there is something to say regarding letter case in xml element name: when Ping method header is changed from: public void Ping(@WebParam(name="Text") String text) { to: public void Ping(@WebParam(name="text") String text) { the Tango implementation correctly propagates this to corresponding xml schema: (http://129.150.124.64:8080/jsr109oneway/ping?xsd=1) <?xml version="1.0" encoding="UTF-8"?><xs:schema xmlns:tns="http://tempuri.org/" xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0" targetNamespace="http://tempuri.org/">
daveronge@java.net said: Created an attachment (id=403) Service war with "text" in lowercase
daveronge@java.net said: Created an attachment (id=404) Service war with "Text" uppercase corresponding to the attached sources
daveronge@java.net said:
When native WCF client is created using svcutil.exe
and run against the endpoint it sends:
<<<
which succeeds.
Either xmlns="" in text (which is correctly lowercase there - so no issue concerning letter case with WCF) or ns-prefix in "<ns7:Ping xmlns:ns7=..." will handle the success.
When none of these two deitails is present the message will deliver null text body.
Possibly renaming name="text" to name="anythingelse" in a schema would help but MS hosted client service will probably disregard the element name and go on with "Text".
vivekp@java.net said: The schema is elementForumDefault="unqualified" (default), so a child node needs to be in no namespace, for this reason if MS sends:
</s:Body>
jitu@java.net said: assigning it to myself
File: jsr109oneway.war Attached By: daveronge@java.net
File: jsr109oneway.war Attached By: daveronge@java.net
File: log_Tango_success_rq_message.xml Attached By: daveronge@java.net
File: log_WCF_corrected_rq_message.xml Attached By: daveronge@java.net
File: log_WCF_reproduced.xml Attached By: daveronge@java.net
File: log_WCF_rq_message.xml Attached By: daveronge@java.net
File: Ping.java Attached By: daveronge@java.net
File: wsit-indigo2tango.msdriven.jsr109oneway.server.Ping.xml Attached By: daveronge@java.net
Was assigned to jitu@java.net
This issue was imported from java.net JIRA WSIT-653
With jsr109 from java RM simple example using annotations: @WebService(serviceName="ping", targetNamespace="http://tempuri.org/") (to achieve that advertised wsdl be close to that of WCF RM hosted client service's native endpoints - so as to make WCF -> Java tests work) with Ping.java jsr109 implementation class (as well as: @WebMethod(operationName="Ping", action="urn:wsrm:Ping") @Oneway and for the same reason) and applying WebParam annotation to method header: public void Ping(@WebParam(name="Text") String text) { WCF (hosted client service) client sends oneway message containing <<<
</s:Body> <<< which fails to deliver its text contents as the above part is apparently disregarded by Ping service. When the above part is changed to: <<<