[jbossws-issues] [JBoss JIRA] Created: (JBWS-3153) Show security policies in the wsdl

Wolf-Dieter Fink (JIRA) jira-events at lists.jboss.org
Wed Nov 3 09:24:02 EDT 2010


Show security policies in the wsdl
----------------------------------

                 Key: JBWS-3153
                 URL: https://jira.jboss.org/browse/JBWS-3153
             Project: JBoss Web Services
          Issue Type: Feature Request
      Security Level: Public (Everyone can see)
          Components: jbossws-cxf, jbossws-integration, jbossws-jaxrpc, jbossws-metro, jbossws-native, ws-security
            Reporter: Wolf-Dieter Fink


As http://en.wikipedia.org/wiki/List_of_web_service_frameworks shows that there are only 2 frameworks supporting the WS-SecurityPolicy Specification right now.
A description of CXF demonstrates that the WS-SecurityPolicies can be generated into the WSDL.

It would be a big plus if JBoss would also contain this feature.

It would light up the development and concentrate the declaration of security requirements to one place.
There would no longer be the necessity to package a hand made WSDL into a client side roll-out.

JBoss should should be able to generate a wsdl including the security policy as described in the
OASIS spec http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/ws-securitypolicy-1.2-spec-os.html
and 'http://docs.oasis-open.org/ws-sx/security-policy/examples/ws-sp-usecases-examples.html#_Toc274723235'.


Code Examples:

-----------  Service class  ----------------
@WebService(name = "VasCenterTs", targetNamespace = "http://com.os.m2m.servicegw.ws/VasCenterTs", serviceName = "VasCenterTs")
@SOAPBinding(style = SOAPBinding.Style.RPC)
@Remote(VasCenterTsRemote.class)
@Local(VasCenterTsLocal.class)
@EndpointConfig(configName = "Standard WSSecurity Endpoint")
@WebContext(contextRoot = "/DraFaLa", urlPattern = "/VasCenter", authMethod = "BASIC", secureWSDLAccess = false)
@SecurityDomain(value = "DraFaLa")
@Stateless
public class VasCenterTs implements VasCenterTsRemote, VasCenterTsLocal { ... }
------    WSDL   --------------------
<definitions name='VasCenterTs' targetNamespace='http://com.os.m2m.servicegw.ws/VasCenterTs' xmlns='http://schemas.xmlsoap.org/wsdl/' xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' xmlns:tns='http://com.os.m2m.servicegw.ws/VasCenterTs' xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
 <types>
  <xs:schema targetNamespace='http://com.os.m2m.servicegw.ws/VasCenterTs' version='1.0' xmlns:tns='http://com.os.m2m.servicegw.ws/VasCenterTs' xmlns:xs='http://www.w3.org/2001/XMLSchema'>
   <xs:complexType name='stringResult'>
    <xs:complexContent>
     <xs:extension base='tns:result'>
      <xs:sequence>
       <xs:element minOccurs='0' name='theString' type='xs:string'/>
      </xs:sequence>
     </xs:extension>
    </xs:complexContent>
   </xs:complexType>
   <xs:complexType name='result'>
    <xs:sequence>
     <xs:element name='code' type='xs:int'/>
     <xs:element minOccurs='0' name='description' type='xs:string'/>
     <xs:element minOccurs='0' name='shortDescription' type='xs:string'/>
    </xs:sequence>
   </xs:complexType>
  </xs:schema>
 </types>
 <message name='VasCenterTs_processDeviceData'>
  <part name='timestamp' type='xsd:string'></part>
  <part name='vasCenterID' type='xsd:string'></part>
  <part name='tcmEcuID' type='xsd:string'></part>
  <part name='encryptedContent' type='xsd:string'></part>
  <part name='messageID' type='xsd:string'></part>
 </message>
 <message name='VasCenterTs_notifyMessageSentStatusResponse'>
  <part name='return' type='tns:result'></part>
 </message>
 <message name='VasCenterTs_processDeviceDataResponse'>
  <part name='return' type='tns:stringResult'></part>
 </message>
 <message name='VasCenterTs_notifyMessageSentStatus'>
  <part name='timestamp' type='xsd:string'></part>
  <part name='vasCenterID' type='xsd:string'></part>
  <part name='tcmEcuID' type='xsd:string'></part>
  <part name='status' type='xsd:string'></part>
  <part name='encryptedContent' type='xsd:string'></part>
  <part name='messageID' type='xsd:string'></part>
 </message>
 <portType name='VasCenterTs'>
  <operation name='notifyMessageSentStatus' parameterOrder='timestamp vasCenterID tcmEcuID status encryptedContent messageID'>
   <input message='tns:VasCenterTs_notifyMessageSentStatus'></input>
   <output message='tns:VasCenterTs_notifyMessageSentStatusResponse'></output>
  </operation>
  <operation name='processDeviceData' parameterOrder='timestamp vasCenterID tcmEcuID encryptedContent messageID'>
   <input message='tns:VasCenterTs_processDeviceData'></input>
   <output message='tns:VasCenterTs_processDeviceDataResponse'></output>
  </operation>
 </portType>
 <binding name='VasCenterTsBinding' type='tns:VasCenterTs'>
  <soap:binding style='rpc' transport='http://schemas.xmlsoap.org/soap/http'/>
  <operation name='notifyMessageSentStatus'>
   <soap:operation soapAction=''/>
   <input>
    <soap:body namespace='http://com.os.m2m.servicegw.ws/VasCenterTs' use='literal'/>
   </input>
   <output>
    <soap:body namespace='http://com.os.m2m.servicegw.ws/VasCenterTs' use='literal'/>
   </output>
  </operation>
  <operation name='processDeviceData'>
   <soap:operation soapAction=''/>
   <input>
    <soap:body namespace='http://com.os.m2m.servicegw.ws/VasCenterTs' use='literal'/>
   </input>
   <output>
    <soap:body namespace='http://com.os.m2m.servicegw.ws/VasCenterTs' use='literal'/>
   </output>
  </operation>
 </binding>
 <service name='VasCenterTs'>
  <port binding='tns:VasCenterTsBinding' name='VasCenterTsPort'>
   <soap:address location='http://padczoth2:8080/DraFaLa/VasCenter'/>
  </port>
 </service>
</definitions>
-----------------------------------------------------------


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

        


More information about the jbossws-issues mailing list