You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by em...@apache.org on 2010/05/28 05:15:10 UTC
svn commit: r949080 - in /cxf/trunk:
rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/
tools/javato/ws/src/test/java/org/apache/cxf/tools/java2wsdl/processor/
tools/javato/ws/src/test/resources/org/apache/cxf/tools/java2wsdl/processor/expec...
Author: ema
Date: Fri May 28 03:15:10 2010
New Revision: 949080
URL: http://svn.apache.org/viewvc?rev=949080&view=rev
Log:
[CXF-2827]:Generated the wsa:action attribute for <wsdl:input> and <wsdl:output> element;Removed the duplicate wsam:action attribute
Modified:
cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.java
cxf/trunk/tools/javato/ws/src/test/java/org/apache/cxf/tools/java2wsdl/processor/JavaToProcessorTest.java
cxf/trunk/tools/javato/ws/src/test/resources/org/apache/cxf/tools/java2wsdl/processor/expected/add_numbers_expected.wsdl
Modified: cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.java?rev=949080&r1=949079&r2=949080&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.java (original)
+++ cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.java Fri May 28 03:15:10 2010
@@ -482,46 +482,49 @@ public class JaxWsServiceFactoryBean ext
}
Action action = method.getAnnotation(Action.class);
- if (action == null) {
+ Addressing addressing = method.getDeclaringClass().getAnnotation(Addressing.class);
+ if (action == null && addressing == null) {
return;
}
- MessageInfo input = operation.getInput();
- if (!StringUtils.isEmpty(action.input())) {
- input.addExtensionAttribute(JAXWSAConstants.WSAW_ACTION_QNAME, action.input());
- input.addExtensionAttribute(JAXWSAConstants.WSAM_ACTION_QNAME, action.input());
+ if (action == null && addressing != null) {
+ operation.getInput().addExtensionAttribute(JAXWSAConstants.WSAM_ACTION_QNAME,
+ computeAction(operation, "Request"));
+ operation.getOutput().addExtensionAttribute(JAXWSAConstants.WSAM_ACTION_QNAME,
+ computeAction(operation, "Response"));
+
} else {
- input.addExtensionAttribute(JAXWSAConstants.WSAM_ACTION_QNAME,
- computeAction(operation, "Request"));
- }
-
- MessageInfo output = operation.getOutput();
- if (output != null && !StringUtils.isEmpty(action.output())) {
- output.addExtensionAttribute(JAXWSAConstants.WSAW_ACTION_QNAME, action.output());
- output.addExtensionAttribute(JAXWSAConstants.WSAM_ACTION_QNAME, action.output());
- } else if (output != null) {
- output.addExtensionAttribute(JAXWSAConstants.WSAM_ACTION_QNAME,
- computeAction(operation, "Response"));
- }
-
- FaultAction[] faultActions = action.fault();
- if (faultActions != null
- && faultActions.length > 0
- && operation.getFaults() != null) {
- for (FaultAction faultAction : faultActions) {
- FaultInfo faultInfo = getFaultInfo(operation, faultAction.className());
- faultInfo.addExtensionAttribute(JAXWSAConstants.WSAW_ACTION_QNAME,
- faultAction.value());
- faultInfo.addExtensionAttribute(JAXWSAConstants.WSAM_ACTION_QNAME,
- faultAction.value());
- if (operation.isUnwrappedCapable()) {
- faultInfo = getFaultInfo(operation.getUnwrappedOperation(), faultAction.className());
- faultInfo.addExtensionAttribute(JAXWSAConstants.WSAW_ACTION_QNAME,
- faultAction.value());
- faultInfo.addExtensionAttribute(JAXWSAConstants.WSAM_ACTION_QNAME,
- faultAction.value());
+ MessageInfo input = operation.getInput();
+ if (!StringUtils.isEmpty(action.input())) {
+ input.addExtensionAttribute(JAXWSAConstants.WSAW_ACTION_QNAME, action.input());
+ } else {
+ input.addExtensionAttribute(JAXWSAConstants.WSAM_ACTION_QNAME, computeAction(operation,
+ "Request"));
+ }
+
+ MessageInfo output = operation.getOutput();
+ if (output != null && !StringUtils.isEmpty(action.output())) {
+ output.addExtensionAttribute(JAXWSAConstants.WSAW_ACTION_QNAME, action.output());
+ } else if (output != null) {
+ output.addExtensionAttribute(JAXWSAConstants.WSAM_ACTION_QNAME, computeAction(operation,
+ "Response"));
+ }
+
+ FaultAction[] faultActions = action.fault();
+ if (faultActions != null && faultActions.length > 0 && operation.getFaults() != null) {
+ for (FaultAction faultAction : faultActions) {
+ FaultInfo faultInfo = getFaultInfo(operation, faultAction.className());
+ faultInfo.addExtensionAttribute(JAXWSAConstants.WSAW_ACTION_QNAME, faultAction.value());
+ faultInfo.addExtensionAttribute(JAXWSAConstants.WSAM_ACTION_QNAME, faultAction.value());
+ if (operation.isUnwrappedCapable()) {
+ faultInfo = getFaultInfo(operation.getUnwrappedOperation(), faultAction.className());
+ faultInfo.addExtensionAttribute(JAXWSAConstants.WSAW_ACTION_QNAME, faultAction
+ .value());
+ faultInfo.addExtensionAttribute(JAXWSAConstants.WSAM_ACTION_QNAME, faultAction
+ .value());
+ }
}
}
- }
+ }
for (FaultInfo fi : operation.getFaults()) {
if (fi.getExtensionAttribute(JAXWSAConstants.WSAM_ACTION_QNAME) == null) {
String f = "/Fault/" + fi.getName().getLocalPart();
Modified: cxf/trunk/tools/javato/ws/src/test/java/org/apache/cxf/tools/java2wsdl/processor/JavaToProcessorTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/tools/javato/ws/src/test/java/org/apache/cxf/tools/java2wsdl/processor/JavaToProcessorTest.java?rev=949080&r1=949079&r2=949080&view=diff
==============================================================================
--- cxf/trunk/tools/javato/ws/src/test/java/org/apache/cxf/tools/java2wsdl/processor/JavaToProcessorTest.java (original)
+++ cxf/trunk/tools/javato/ws/src/test/java/org/apache/cxf/tools/java2wsdl/processor/JavaToProcessorTest.java Fri May 28 03:15:10 2010
@@ -502,6 +502,12 @@ public class JavaToProcessorTest extends
}
File wsdlFile = new File(output, "add_numbers.wsdl");
assertTrue("Generate Wsdl Fail", wsdlFile.exists());
+ //To test there is wsam:action generated for the
+ String wsdlString = getStringFromFile(wsdlFile);
+ assertTrue("The wsaAction is not generated for NOActionAnotation method", wsdlString
+ .indexOf("http://fortest.tools.cxf.apache.org/AddNumbersImpl/addNumbers2Request") > -1);
+ assertTrue("The wsaAction is not generated for NOActionAnotation method", wsdlString
+ .indexOf("http://fortest.tools.cxf.apache.org/AddNumbersImpl/addNumbers2Response") > -1);
URI expectedFile = getClass().getResource("expected/add_numbers_expected.wsdl").toURI();
assertWsdlEquals(new File(expectedFile), wsdlFile);
}
Modified: cxf/trunk/tools/javato/ws/src/test/resources/org/apache/cxf/tools/java2wsdl/processor/expected/add_numbers_expected.wsdl
URL: http://svn.apache.org/viewvc/cxf/trunk/tools/javato/ws/src/test/resources/org/apache/cxf/tools/java2wsdl/processor/expected/add_numbers_expected.wsdl?rev=949080&r1=949079&r2=949080&view=diff
==============================================================================
--- cxf/trunk/tools/javato/ws/src/test/resources/org/apache/cxf/tools/java2wsdl/processor/expected/add_numbers_expected.wsdl (original)
+++ cxf/trunk/tools/javato/ws/src/test/resources/org/apache/cxf/tools/java2wsdl/processor/expected/add_numbers_expected.wsdl Fri May 28 03:15:10 2010
@@ -77,25 +77,25 @@
</wsdl:message>
<wsdl:portType name="AddNumbersImpl">
<wsdl:operation name="addNumbers">
- <wsdl:input name="addNumbers" message="tns:addNumbers" wsam:Action="http://cxf.apache.org/input" wsaw:Action="http://cxf.apache.org/input">
+ <wsdl:input name="addNumbers" message="tns:addNumbers" wsaw:Action="http://cxf.apache.org/input">
</wsdl:input>
- <wsdl:output name="addNumbersResponse" message="tns:addNumbersResponse" wsam:Action="http://cxf.apache.org/output" wsaw:Action="http://cxf.apache.org/output">
+ <wsdl:output name="addNumbersResponse" message="tns:addNumbersResponse" wsaw:Action="http://cxf.apache.org/output">
</wsdl:output>
<wsdl:fault name="AddNumbersException" message="tns:AddNumbersException" wsam:Action="http://fortest.tools.cxf.apache.org/AddNumbersImpl/addNumbers/Fault/AddNumbersException">
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="addNumbers3">
- <wsdl:input name="addNumbers3" message="tns:addNumbers3" wsam:Action="http://cxf.apache.org/input3" wsaw:Action="http://cxf.apache.org/input3">
+ <wsdl:input name="addNumbers3" message="tns:addNumbers3" wsaw:Action="http://cxf.apache.org/input3">
</wsdl:input>
- <wsdl:output name="addNumbers3Response" message="tns:addNumbers3Response" wsam:Action="http://cxf.apache.org/output3" wsaw:Action="http://cxf.apache.org/output3">
+ <wsdl:output name="addNumbers3Response" message="tns:addNumbers3Response" wsaw:Action="http://cxf.apache.org/output3">
</wsdl:output>
<wsdl:fault name="AddNumbersException" message="tns:AddNumbersException" wsam:Action="http://cxf.apache.org/fault3" wsaw:Action="http://cxf.apache.org/fault3">
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="addNumbers2">
- <wsdl:input name="addNumbers2" message="tns:addNumbers2">
+ <wsdl:input name="addNumbers2" message="tns:addNumbers2" wsam:Action="http://fortest.tools.cxf.apache.org/AddNumbersImpl/addNumbers2Request">
</wsdl:input>
- <wsdl:output name="addNumbers2Response" message="tns:addNumbers2Response">
+ <wsdl:output name="addNumbers2Response" message="tns:addNumbers2Response" wsam:Action="http://fortest.tools.cxf.apache.org/AddNumbersImpl/addNumbers2Response">
</wsdl:output>
</wsdl:operation>
</wsdl:portType>
@@ -143,4 +143,4 @@
</wsdl:port>
</wsdl:service>
<wsp:Policy wsu:Id="AddNumbersImplServiceSoapBinding_WSAM_Addressing_Policy" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><wsam:Addressing wsp:Optional="true"><wsp:Policy/></wsam:Addressing></wsp:Policy>
-</wsdl:definitions>
+</wsdl:definitions>
\ No newline at end of file