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-securitypoli...
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