empty String as soapAction is invalid in XFire generated WSDL, it cannot be 
optional if the binding protocol is http
--------------------------------------------------------------------------------------------------------------------

                 Key: XFIRE-802
                 URL: http://jira.codehaus.org/browse/XFIRE-802
             Project: XFire
          Issue Type: Bug
          Components: Generator
    Affects Versions: 1.2.2
         Environment: Win2K
            Reporter: Lee G.
         Assigned To: Dan Diephouse
         Attachments: stats.wsdl

To reproduce: Open a generated WSDL document in Altova XML Spy Enterprise 
Edition 7 sp1 (not professional) and you get  a validation error message due to 
empty soapAction on http transport, as follows:-
 wsdl is not valid. extensibility element '<wsdlsoap:operation>' (operation 
'getCounters', binding 'statsServiceHttpBinding') has empty or missing 
'soapAction' attribute! (required if binding transport is 
'http://schemas.xmlsoap.org/soap/http')
Error location: wsdl:definitions / wsdl:binding / wsdl:operation / 
wsdlsoap:operation

I raised the problem with Altova Support who confirmed this error is correct 
behavior, as follows :-
----------------------------------------------
Case # :       9476
Submitted on:  2006-12-12 23:34:50
Product:       XMLSpy_Enterprise_Edition
Version:       2007sp1
OS:            win_xp    
-------------------------------------------------------------------
Summary:       WSDL Validation error

-------------------------------------------------------------------

Entered on 2006-12-13 at 09:47:30 by Christian Luntzer:
Dear Lee,
   
The validator of WSDL files in the Enterprise Edition of XML Spy does not 
purely validate the wsdl based upon the 
underlying schemas i.e. in addition to validating the wsdl according to the 
WSDL and any included or imported schemas, the 
validator also has a level of intelligence built into it which the Professional 
Edition does not have. Your file would be considered valid 
in the Professional Edition as this only validates the wsdl based upon the 
schema(s), however XML Spy Enterprise realizes that 
although the soapAction attribute is optional according to the schema, it 
cannot be optional if the binding protocol is http and 
therefore flags this as an error.

According to the WSDL 1.1 xsd 

http://www.altova.com/specs_wsdl.html#_soap:operation

The soapAction attribute specifies the value of the SOAPAction header for this 
operation. This URI value should be used directly as 
the value for the SOAPAction header; no attempt should be made to make a 
relative URI value absolute when making the request. 
For the HTTP protocol binding of SOAP, this is value required (it has no 
default value). For other SOAP protocol bindings, it MUST 
NOT be specified, and the soap:operation element MAY be omitted. 

To sum it up.. yes your file is valid according to the schema however it is not 
valid in a "WSDL sense" as the SOAPAction attribute is 
required if the binding is http.  The reason for this extra validation is 
because xml schema alone does not have any provisions for 
specifying such a relationship i.e. if binding is equal to http then soapAction 
should not be optional or empty.

I hope this clarifies the behavior. If my explanation is unclear please let me 
know.

Thank you.


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email

Reply via email to