From 699d2df521ee26e343c53505a2ac1d546ba1965e Mon Sep 17 00:00:00 2001 From: antelder Date: Sat, 28 Mar 2009 09:46:58 +0000 Subject: Create M2 relese branch git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@759448 13f79535-47bb-0310-9956-ffa450edef68 --- .../vtest/wsbinding/nowsdl/defaultbinding/pom.xml | 58 +++ .../wsbinding/nowsdl/defaultbinding/AService.java | 37 ++ .../wsbinding/nowsdl/defaultbinding/BService.java | 35 ++ .../wsbinding/nowsdl/defaultbinding/CService.java | 37 ++ .../wsbinding/nowsdl/defaultbinding/DService.java | 45 +++ .../nowsdl/defaultbinding/impl/AServiceImpl.java | 51 +++ .../nowsdl/defaultbinding/impl/BServiceImpl.java | 44 +++ .../nowsdl/defaultbinding/impl/CServiceImpl.java | 48 +++ .../nowsdl/defaultbinding/impl/DServiceImpl.java | 70 ++++ .../src/main/resources/nowsdl.composite | 61 +++ .../NoWsdlDefaultBindingTestCase.java | 112 ++++++ .../wsbinding/nowsdl/multisoapbindings/pom.xml | 58 +++ .../nowsdl/multisoapbindings/AService.java | 37 ++ .../nowsdl/multisoapbindings/BService.java | 35 ++ .../nowsdl/multisoapbindings/CService.java | 37 ++ .../nowsdl/multisoapbindings/DService.java | 45 +++ .../multisoapbindings/impl/AServiceImpl.java | 51 +++ .../multisoapbindings/impl/BServiceImpl.java | 44 +++ .../multisoapbindings/impl/CServiceImpl.java | 48 +++ .../multisoapbindings/impl/DServiceImpl.java | 70 ++++ .../resources/nowsdlmultisoapbindings.composite | 135 +++++++ .../multisoapbindings/GeneratedWSDLTestCase.java | 162 ++++++++ .../NoWsdlMultiSoapBindingsTestCase.java | 213 ++++++++++ .../sca-java-2.0-M2/vtest/wsbinding/nowsdl/pom.xml | 69 ++++ .../vtest/wsbinding/nowsdl/promoted/pom.xml | 58 +++ .../vtest/wsbinding/nowsdl/promoted/AService.java | 37 ++ .../vtest/wsbinding/nowsdl/promoted/BService.java | 35 ++ .../wsbinding/nowsdl/promoted/BServiceSOAP.java | 35 ++ .../wsbinding/nowsdl/promoted/BServiceSOAP11.java | 35 ++ .../wsbinding/nowsdl/promoted/BServiceSOAP12.java | 35 ++ .../vtest/wsbinding/nowsdl/promoted/CService.java | 37 ++ .../vtest/wsbinding/nowsdl/promoted/DService.java | 45 +++ .../nowsdl/promoted/impl/AServiceImpl.java | 51 +++ .../nowsdl/promoted/impl/BServiceImpl.java | 44 +++ .../nowsdl/promoted/impl/BServiceSOAP11Impl.java | 44 +++ .../nowsdl/promoted/impl/BServiceSOAP12Impl.java | 44 +++ .../nowsdl/promoted/impl/BServiceSOAPImpl.java | 44 +++ .../nowsdl/promoted/impl/CServiceImpl.java | 48 +++ .../nowsdl/promoted/impl/DServiceImpl.java | 70 ++++ .../src/main/resources/nowsdlpromoted.composite | 246 ++++++++++++ .../nowsdl/promoted/NoWsdlPromoted1TestCase.java | 85 ++++ .../nowsdl/promoted/NoWsdlPromoted2TestCase.java | 118 ++++++ .../vtest/wsbinding/nowsdl/soapversion/pom.xml | 58 +++ .../wsbinding/nowsdl/soapversion/AService.java | 37 ++ .../wsbinding/nowsdl/soapversion/BService.java | 35 ++ .../wsbinding/nowsdl/soapversion/BServiceSOAP.java | 35 ++ .../nowsdl/soapversion/BServiceSOAP11.java | 35 ++ .../nowsdl/soapversion/BServiceSOAP12.java | 35 ++ .../wsbinding/nowsdl/soapversion/CService.java | 37 ++ .../wsbinding/nowsdl/soapversion/DService.java | 45 +++ .../nowsdl/soapversion/impl/AServiceImpl.java | 51 +++ .../nowsdl/soapversion/impl/BServiceImpl.java | 44 +++ .../soapversion/impl/BServiceSOAP11Impl.java | 44 +++ .../soapversion/impl/BServiceSOAP12Impl.java | 44 +++ .../nowsdl/soapversion/impl/BServiceSOAPImpl.java | 44 +++ .../nowsdl/soapversion/impl/CServiceImpl.java | 48 +++ .../nowsdl/soapversion/impl/DServiceImpl.java | 70 ++++ .../src/main/resources/nowsdlsoapversion.composite | 205 ++++++++++ .../nowsdl/soapversion/GeneratedWSDLTestCase.java | 438 +++++++++++++++++++++ .../soapversion/NoWsdlNoSoapVersionTestCase.java | 84 ++++ .../soapversion/NoWsdlSoapVersionTestCase.java | 121 ++++++ branches/sca-java-2.0-M2/vtest/wsbinding/pom.xml | 68 ++++ .../vtest/wsbinding/service/pom.xml | 58 +++ .../sca/vtest/wsbinding/AClientService.java | 29 ++ .../tuscany/sca/vtest/wsbinding/AService.java | 29 ++ .../vtest/wsbinding/impl/AClientServiceImpl.java | 38 ++ .../sca/vtest/wsbinding/impl/AServiceImpl.java | 33 ++ .../service/src/main/resources/aservice.wsdl | 139 +++++++ .../resources/endpoint-uri-resolution.composite | 103 +++++ .../src/main/resources/endpointreference.composite | 40 ++ .../src/main/resources/wsdlbinding.composite | 45 +++ .../src/main/resources/wsdlendpoint.composite | 37 ++ .../service/src/main/resources/wsdlport.composite | 43 ++ .../src/main/resources/wsdlservice.composite | 43 ++ .../vtest/wsbinding/EndpointReferenceTestCase.java | 67 ++++ .../wsbinding/EndpointUriResolutionTestCase.java | 209 ++++++++++ .../sca/vtest/wsbinding/WsdlBindingTestCase.java | 68 ++++ .../sca/vtest/wsbinding/WsdlEndpointTestCase.java | 66 ++++ .../sca/vtest/wsbinding/WsdlPortTestCase.java | 66 ++++ .../sca/vtest/wsbinding/WsdlServiceTestCase.java | 69 ++++ .../vtest/wsbinding/wsdlelement/binding/pom.xml | 58 +++ .../wsbinding/wsdlelement/binding/AService.java | 40 ++ .../wsbinding/wsdlelement/binding/BService.java | 35 ++ .../wsbinding/wsdlelement/binding/BService2.java | 33 ++ .../wsbinding/wsdlelement/binding/CService.java | 37 ++ .../wsbinding/wsdlelement/binding/DService.java | 45 +++ .../wsdlelement/binding/impl/AServiceImpl.java | 63 +++ .../wsdlelement/binding/impl/BService2Impl.java | 40 ++ .../wsdlelement/binding/impl/BServiceImpl.java | 44 +++ .../wsdlelement/binding/impl/CServiceImpl.java | 48 +++ .../wsdlelement/binding/impl/DServiceImpl.java | 70 ++++ .../binding/src/main/resources/bservice.wsdl | 228 +++++++++++ .../binding/src/main/resources/cservice.wsdl | 173 ++++++++ .../main/resources/wsdlelement.binding.composite | 114 ++++++ .../binding/WsdlElementBindingTestCase.java | 190 +++++++++ .../vtest/wsbinding/wsdlelement/pom.xml | 68 ++++ .../vtest/wsbinding/wsdlelement/port/pom.xml | 58 +++ .../vtest/wsbinding/wsdlelement/port/AService.java | 40 ++ .../vtest/wsbinding/wsdlelement/port/BService.java | 35 ++ .../wsbinding/wsdlelement/port/BService2.java | 33 ++ .../vtest/wsbinding/wsdlelement/port/CService.java | 37 ++ .../vtest/wsbinding/wsdlelement/port/DService.java | 45 +++ .../wsdlelement/port/impl/AServiceImpl.java | 62 +++ .../wsdlelement/port/impl/BService2Impl.java | 40 ++ .../wsdlelement/port/impl/BServiceImpl.java | 44 +++ .../wsdlelement/port/impl/CServiceImpl.java | 48 +++ .../wsdlelement/port/impl/DServiceImpl.java | 70 ++++ .../port/src/main/resources/bservice.wsdl | 238 +++++++++++ .../port/src/main/resources/cservice.wsdl | 173 ++++++++ .../src/main/resources/wsdlelement.port.composite | 115 ++++++ .../wsdlelement/port/WsdlElementPortTestCase.java | 188 +++++++++ .../vtest/wsbinding/wsdlelement/service/pom.xml | 58 +++ .../wsbinding/wsdlelement/service/AService.java | 50 +++ .../wsbinding/wsdlelement/service/BService.java | 35 ++ .../wsbinding/wsdlelement/service/BService2.java | 33 ++ .../wsbinding/wsdlelement/service/CService.java | 37 ++ .../wsbinding/wsdlelement/service/DService.java | 45 +++ .../wsdlelement/service/impl/AServiceImpl.java | 88 +++++ .../wsdlelement/service/impl/BService2Impl.java | 40 ++ .../wsdlelement/service/impl/BServiceImpl.java | 44 +++ .../wsdlelement/service/impl/CServiceImpl.java | 48 +++ .../wsdlelement/service/impl/DServiceImpl.java | 70 ++++ .../service/src/main/resources/bservice.wsdl | 225 +++++++++++ .../service/src/main/resources/cservice.wsdl | 173 ++++++++ .../main/resources/wsdlelement.service.composite | 145 +++++++ .../service/WsdlElementServiceTestCase.java | 235 +++++++++++ 126 files changed, 9311 insertions(+) create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/pom.xml create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/AService.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/BService.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/CService.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/DService.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/AServiceImpl.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/BServiceImpl.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/CServiceImpl.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/DServiceImpl.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/src/main/resources/nowsdl.composite create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/NoWsdlDefaultBindingTestCase.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/pom.xml create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/AService.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/BService.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/CService.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/DService.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/AServiceImpl.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/BServiceImpl.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/CServiceImpl.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/DServiceImpl.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/main/resources/nowsdlmultisoapbindings.composite create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/GeneratedWSDLTestCase.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/NoWsdlMultiSoapBindingsTestCase.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/pom.xml create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/pom.xml create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/AService.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BService.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP11.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP12.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/CService.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/DService.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/AServiceImpl.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceImpl.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAP11Impl.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAP12Impl.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAPImpl.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/CServiceImpl.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/DServiceImpl.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/resources/nowsdlpromoted.composite create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/NoWsdlPromoted1TestCase.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/NoWsdlPromoted2TestCase.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/pom.xml create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/AService.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BService.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP11.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP12.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/CService.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/DService.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/AServiceImpl.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceImpl.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAP11Impl.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAP12Impl.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAPImpl.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/CServiceImpl.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/DServiceImpl.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/resources/nowsdlsoapversion.composite create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/GeneratedWSDLTestCase.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/NoWsdlNoSoapVersionTestCase.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/NoWsdlSoapVersionTestCase.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/pom.xml create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/service/pom.xml create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/AClientService.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/AService.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/impl/AClientServiceImpl.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/impl/AServiceImpl.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/resources/aservice.wsdl create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/resources/endpoint-uri-resolution.composite create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/resources/endpointreference.composite create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/resources/wsdlbinding.composite create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/resources/wsdlendpoint.composite create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/resources/wsdlport.composite create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/resources/wsdlservice.composite create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/EndpointReferenceTestCase.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/EndpointUriResolutionTestCase.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlBindingTestCase.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlEndpointTestCase.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlPortTestCase.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlServiceTestCase.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/pom.xml create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/AService.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/BService.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/BService2.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/CService.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/DService.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/AServiceImpl.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/BService2Impl.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/BServiceImpl.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/CServiceImpl.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/DServiceImpl.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/resources/bservice.wsdl create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/resources/cservice.wsdl create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/resources/wsdlelement.binding.composite create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/WsdlElementBindingTestCase.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/pom.xml create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/pom.xml create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/AService.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/BService.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/BService2.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/CService.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/DService.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/AServiceImpl.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/BService2Impl.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/BServiceImpl.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/CServiceImpl.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/DServiceImpl.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/resources/bservice.wsdl create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/resources/cservice.wsdl create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/resources/wsdlelement.port.composite create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/WsdlElementPortTestCase.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/pom.xml create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/AService.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/BService.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/BService2.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/CService.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/DService.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/AServiceImpl.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/BService2Impl.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/BServiceImpl.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/CServiceImpl.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/DServiceImpl.java create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/resources/bservice.wsdl create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/resources/cservice.wsdl create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/resources/wsdlelement.service.composite create mode 100644 branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/WsdlElementServiceTestCase.java (limited to 'branches/sca-java-2.0-M2/vtest/wsbinding') diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/pom.xml b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/pom.xml new file mode 100644 index 0000000000..c6deb654ad --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/pom.xml @@ -0,0 +1,58 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + vtest-wsbinding-nowsdl + 2.0-M2-SNAPSHOT + ../pom.xml + + vtest-wsbinding-nowsdl-defaultbinding + Apache Tuscany SCA Web Service Binding Verification Tests - No WSDL Default Binding + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-M2-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + 2.0-M2-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-host-tomcat + 2.0-M2-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-M2-SNAPSHOT + runtime + + + diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/AService.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/AService.java new file mode 100644 index 0000000000..b99ced1e17 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/AService.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * The interface for AService. + */ +@Remotable +public interface AService { + + public String getName(); + + public String getB1String(String aString); + + public String getB1String2(String aString, String bString); + + public int getB1Int(int i); + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/BService.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/BService.java new file mode 100644 index 0000000000..77c7bd4071 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/BService.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BService { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public int getInt(int i); + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/CService.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/CService.java new file mode 100644 index 0000000000..b1979b99d9 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/CService.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface CService { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public Integer getInteger(Integer i); + + public float getFloat(float f); + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/DService.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/DService.java new file mode 100644 index 0000000000..9a99700550 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/DService.java @@ -0,0 +1,45 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * The interface for DService. + */ +@Remotable +public interface DService { + + public String getName(); + + public String getB1String(String aString); + + public String getB1String2(String aString, String bString); + + public int getB1Int(int i); + + public String getC1String(String aString); + + public String getC1String2(String aString, String bString); + + public Integer getC1Integer(Integer i); + + public float getC1Float(float f); + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/AServiceImpl.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/AServiceImpl.java new file mode 100644 index 0000000000..862dd78735 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/AServiceImpl.java @@ -0,0 +1,51 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.AService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.BService; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements AService. + */ +@Service(AService.class) +public class AServiceImpl implements AService { + + @Reference + public BService b1; + + public String getName() { + return "AService"; + } + + public String getB1String(String aString) { + return b1.getString(aString); + } + + public String getB1String2(String aString, String bString) { + return b1.getString2(aString, bString); + } + + public int getB1Int(int i) { + return b1.getInt(i); + } + +} \ No newline at end of file diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/BServiceImpl.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/BServiceImpl.java new file mode 100644 index 0000000000..225476ada0 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/BServiceImpl.java @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.BService; +import org.oasisopen.sca.annotation.Service; + +@Service(BService.class) +public class BServiceImpl implements BService { + + public String getName() { + return "BService"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/CServiceImpl.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/CServiceImpl.java new file mode 100644 index 0000000000..9c5908f34e --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/CServiceImpl.java @@ -0,0 +1,48 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.CService; +import org.oasisopen.sca.annotation.Service; + +@Service(CService.class) +public class CServiceImpl implements CService { + + public String getName() { + return "CService"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public Integer getInteger(Integer i) { + return i; + } + + public float getFloat(float f) { + return f; + } + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/DServiceImpl.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/DServiceImpl.java new file mode 100644 index 0000000000..9bda9468f5 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/DServiceImpl.java @@ -0,0 +1,70 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.BService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.CService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.DService; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements AService. + */ +@Service(DService.class) +public class DServiceImpl implements DService { + + @Reference + public BService b1; + + @Reference + public CService c1; + + public String getName() { + return "DService"; + } + + public String getB1String(String aString) { + return b1.getString(aString); + } + + public String getB1String2(String aString, String bString) { + return b1.getString2(aString, bString); + } + + public int getB1Int(int i) { + return b1.getInt(i); + } + + public String getC1String(String aString) { + return c1.getString(aString); + } + + public String getC1String2(String aString, String bString) { + return c1.getString2(aString, bString); + } + + public Integer getC1Integer(Integer i) { + return c1.getInteger(i); + } + + public float getC1Float(float f) { + return c1.getFloat(f); + } +} \ No newline at end of file diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/src/main/resources/nowsdl.composite b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/src/main/resources/nowsdl.composite new file mode 100644 index 0000000000..39d66fa365 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/src/main/resources/nowsdl.composite @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/NoWsdlDefaultBindingTestCase.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/NoWsdlDefaultBindingTestCase.java new file mode 100644 index 0000000000..b50774cfa9 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/defaultbinding/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/NoWsdlDefaultBindingTestCase.java @@ -0,0 +1,112 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.AService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.DService; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Tests the simplest form of the binding element without WSDL document + * described in section section 2.2.2 of SCA Web Services Binding V1.00 + * + * @TODO - will add following tests
+ *
  • promoted service
  • + *
  • with complex type object
  • + */ +public class NoWsdlDefaultBindingTestCase { + + protected static ServiceFinder serviceFinder; + protected static String compositeName = "nowsdl.composite"; + protected static AService a; + protected static DService d; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + a = ServiceFinder.getService(AService.class, "AComponent"); + d = ServiceFinder.getService(DService.class, "DComponent"); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + /** + * Lines 169-181:
    + * 2.2.2 Examples Without a WSDL Document
    + * The next example shows the simplest form of the binding element without + * WSDL document,
    + * ...
    + * which itself uses all the defaults.
    + */ + @Test + public void testNoWsdl1() throws Exception { + String aName = a.getName(); + String b1Str1 = a.getB1String("string1"); + String b1Str2 = a.getB1String2("string2", "string3"); + int b1Int = a.getB1Int(4000); + + System.out.println(aName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(4000, b1Int); + } + + /** + * Lines 169-181:
    + * Test two references using binding.ws but without WSDL documents.
    + */ + @Test + public void testNoWsdl2() throws Exception { + String dName = d.getName(); + String b1Str1 = d.getB1String("string1"); + String b1Str2 = d.getB1String2("string2", "string3"); + String c1Str1 = d.getC1String("string5"); + String c1Str2 = d.getC1String2("string6", "string7"); + + int b1Int = d.getB1Int(4000); + float c1Float = d.getC1Float((float) 8.8); + + Integer c1Integer = d.getC1Integer(new Integer(9000)); + + System.out.println(dName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int + ", " + c1Str1 + ", " + c1Str2 + ", " + c1Float + ", " + c1Integer); + Assert.assertEquals("DService", dName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(4000, b1Int); + Assert.assertEquals("string5", c1Str1); + Assert.assertEquals("string6string7", c1Str2); + Assert.assertEquals((float) 8.8, c1Float); + Assert.assertEquals(new Integer(9000), c1Integer); + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/pom.xml b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/pom.xml new file mode 100644 index 0000000000..78298dcf65 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/pom.xml @@ -0,0 +1,58 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + vtest-wsbinding-nowsdl + 2.0-M2-SNAPSHOT + ../pom.xml + + vtest-wsbinding-nowsdl-multisoapbindings + Apache Tuscany SCA Web Service Binding Verification Tests - No WSDL Multi Soap Bindings + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-M2-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + 2.0-M2-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-host-tomcat + 2.0-M2-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-M2-SNAPSHOT + runtime + + + diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/AService.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/AService.java new file mode 100644 index 0000000000..1edeea95a3 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/AService.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * The interface for AService. + */ +@Remotable +public interface AService { + + public String getName(); + + public String getB1String(String aString); + + public String getB1String2(String aString, String bString); + + public int getB1Int(int i); + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/BService.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/BService.java new file mode 100644 index 0000000000..007ff62f17 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/BService.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BService { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public int getInt(int i); + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/CService.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/CService.java new file mode 100644 index 0000000000..63049ac3df --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/CService.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface CService { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public Integer getInteger(Integer i); + + public float getFloat(float f); + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/DService.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/DService.java new file mode 100644 index 0000000000..1a8d4671aa --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/DService.java @@ -0,0 +1,45 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * The interface for DService. + */ +@Remotable +public interface DService { + + public String getName(); + + public String getB1String(String aString); + + public String getB1String2(String aString, String bString); + + public int getB1Int(int i); + + public String getC1String(String aString); + + public String getC1String2(String aString, String bString); + + public Integer getC1Integer(Integer i); + + public float getC1Float(float f); + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/AServiceImpl.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/AServiceImpl.java new file mode 100644 index 0000000000..abed24390e --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/AServiceImpl.java @@ -0,0 +1,51 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.AService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.BService; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements AService. + */ +@Service(AService.class) +public class AServiceImpl implements AService { + + @Reference + public BService b1; + + public String getName() { + return "AService"; + } + + public String getB1String(String aString) { + return b1.getString(aString); + } + + public String getB1String2(String aString, String bString) { + return b1.getString2(aString, bString); + } + + public int getB1Int(int i) { + return b1.getInt(i); + } + +} \ No newline at end of file diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/BServiceImpl.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/BServiceImpl.java new file mode 100644 index 0000000000..aba7748bb0 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/BServiceImpl.java @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.BService; +import org.oasisopen.sca.annotation.Service; + +@Service(BService.class) +public class BServiceImpl implements BService { + + public String getName() { + return "BService"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/CServiceImpl.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/CServiceImpl.java new file mode 100644 index 0000000000..c7bf86e5eb --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/CServiceImpl.java @@ -0,0 +1,48 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.CService; +import org.oasisopen.sca.annotation.Service; + +@Service(CService.class) +public class CServiceImpl implements CService { + + public String getName() { + return "CService"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public Integer getInteger(Integer i) { + return i; + } + + public float getFloat(float f) { + return f; + } + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/DServiceImpl.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/DServiceImpl.java new file mode 100644 index 0000000000..9f6ff73355 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/DServiceImpl.java @@ -0,0 +1,70 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.BService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.CService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.DService; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements AService. + */ +@Service(DService.class) +public class DServiceImpl implements DService { + + @Reference + public BService b1; + + @Reference + public CService c1; + + public String getName() { + return "DService"; + } + + public String getB1String(String aString) { + return b1.getString(aString); + } + + public String getB1String2(String aString, String bString) { + return b1.getString2(aString, bString); + } + + public int getB1Int(int i) { + return b1.getInt(i); + } + + public String getC1String(String aString) { + return c1.getString(aString); + } + + public String getC1String2(String aString, String bString) { + return c1.getString2(aString, bString); + } + + public Integer getC1Integer(Integer i) { + return c1.getInteger(i); + } + + public float getC1Float(float f) { + return c1.getFloat(f); + } +} \ No newline at end of file diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/main/resources/nowsdlmultisoapbindings.composite b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/main/resources/nowsdlmultisoapbindings.composite new file mode 100644 index 0000000000..8cd599354a --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/main/resources/nowsdlmultisoapbindings.composite @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/GeneratedWSDLTestCase.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/GeneratedWSDLTestCase.java new file mode 100644 index 0000000000..ae058cf6c9 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/GeneratedWSDLTestCase.java @@ -0,0 +1,162 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings; + +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import javax.wsdl.Binding; +import javax.wsdl.Definition; +import javax.wsdl.Port; +import javax.wsdl.Service; +import javax.wsdl.extensions.http.HTTPAddress; +import javax.wsdl.extensions.http.HTTPBinding; +import javax.wsdl.extensions.soap.SOAPAddress; +import javax.wsdl.extensions.soap.SOAPBinding; +import javax.wsdl.extensions.soap12.SOAP12Address; +import javax.wsdl.extensions.soap12.SOAP12Binding; + +import junit.framework.Assert; +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Ignore; +import org.junit.Test; + +/** + * Tests the simplest form of the binding element without WSDL document + * described in section 2.3.2 of SCA Web Services Binding V1.00 + */ +public class GeneratedWSDLTestCase { + + protected static String compositeName = "nowsdlmultisoapbindings.composite"; + protected static Definition cWSDL = null; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + cWSDL = ServiceFinder.getWSDLDefinition("CComponent", "CService"); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + private Map getPorts(Definition wsdl, String service) { + String targetNamespace = wsdl.getTargetNamespace(); + HashMap sMap = (HashMap) wsdl.getServices(); + for (Iterator i = sMap.keySet().iterator(); i.hasNext();) { + Object k1 = i.next(); + Service s = (Service) sMap.get(k1); + String qName = "{" + targetNamespace + "}" + service; + if (s.getQName().toString().equals(qName)) { + return s.getPorts(); + } + // Don't why implmentation changed to add Service at the end of qname + if (s.getQName().toString().equals(qName + "Service")) { + return s.getPorts(); + } + } + return null; + } + + /** + * Lines 262-264:
    + * The WSDL service has one or more ports for each web service binding on + * the SCA service that has a SOAP requirement, or that refers to an + * existing WSDL binding, depending on the requirements of the web service + * binding. Each of those ports has a single binding.

    + * Each service has following bindings:
    + *

  • SoapBinding - PortType and SOAP11
  • + *
  • SOAP12Binding - SOAP12
  • + *
  • HTTPBinding - Http
  • + *
    and following ports:
    + *
  • SoapAddress
  • + *
  • SOAP12Address
  • + *
  • HTTPAddress
  • + */ + @Test + @Ignore + // Only generate SOAP port and binding + public void testMultiSoapBindings4() throws Exception { + + Map pMap = getPorts(cWSDL, "CService"); + int numSoapPort = 0; + int numSoap12Port = 0; + int numHttpPort = 0; + for (Iterator iter = pMap.keySet().iterator(); iter.hasNext();) { + Object k2 = iter.next(); + Port p = (Port) pMap.get(k2); + List eeList = p.getExtensibilityElements(); + for (int i = 0; i < eeList.size(); i++) { + Object address = eeList.get(i); + if (address instanceof SOAPAddress) { + numSoapPort++; + } else if (address instanceof SOAP12Address) { + numSoap12Port++; + } else if (address instanceof HTTPAddress) { + numHttpPort++; + }; + } + } + + Map cMap = cWSDL.getBindings(); + int numSoapBinding = 0; + int numSoap12Binding = 0; + int numHttpBinding = 0; + for (Iterator iter = cMap.keySet().iterator(); iter.hasNext();) { + Object k1 = iter.next(); + Binding b = (Binding) cMap.get(k1); + List eeList = b.getExtensibilityElements(); + for (int i = 0; i < eeList.size(); i++) { + Object binding = eeList.get(i); + if (binding instanceof SOAPBinding) { + numSoapBinding++; + } else if (binding instanceof SOAP12Binding) { + numSoap12Binding++; + } else if (binding instanceof HTTPBinding) { + numHttpBinding++; + } + } + } + + System.out.println("testMultiSoapBindings4"); + System.out.println(" # of SOAPPort: " + numSoapPort); + System.out.println(" # of SOAP12Port: " + numSoap12Port); + System.out.println(" # of HTTPPort: " + numHttpPort); + System.out.println(" # of SOAPBinding: " + numSoapBinding); + System.out.println(" # of SOAP12Binding: " + numSoap12Binding); + System.out.println(" # of HTTPBinding: " + numHttpBinding); + + Assert.assertEquals(numSoapPort, 1); + Assert.assertTrue(numSoap12Port > 0); + Assert.assertTrue(numSoapBinding > 0); + Assert.assertEquals(numSoap12Binding, 1); + // Skipped to test HTTP + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/NoWsdlMultiSoapBindingsTestCase.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/NoWsdlMultiSoapBindingsTestCase.java new file mode 100644 index 0000000000..5dbb696bf5 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/multisoapbindings/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/NoWsdlMultiSoapBindingsTestCase.java @@ -0,0 +1,213 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings; + +import junit.framework.Assert; +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.AService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.DService; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Tests the simplest form of the binding element without WSDL document + * described in section section 2.2.2 and 2.3.2 of SCA Web Services + * Binding V1.00 + */ +public class NoWsdlMultiSoapBindingsTestCase { + + protected static String compositeName = "nowsdlmultisoapbindings.composite"; + protected static AService a1; + protected static AService a2; + protected static AService a3; + protected static AService a4; + protected static DService d1; + protected static DService d2; + protected static DService d3; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + a1 = ServiceFinder.getService(AService.class, "AComponent1"); + a2 = ServiceFinder.getService(AService.class, "AComponent2"); + a3 = ServiceFinder.getService(AService.class, "AComponent3"); + a4 = ServiceFinder.getService(AService.class, "AComponent4"); + d1 = ServiceFinder.getService(DService.class, "DComponent1"); + d2 = ServiceFinder.getService(DService.class, "DComponent2"); + d3 = ServiceFinder.getService(DService.class, "DComponent3"); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + /** + * Lines 201-225:
    + * The next example shows the use of the binding element without a WSDL + * document, with multiple SOAP bindings with non-default values. The SOAP + * 1.2 binding name defaults to the service name, the SOAP 1.1 binding is + * given an explicit name. The reference has a web service binding which + * uses SOAP 1.2, but otherwise uses all the defaults for SOAP binding. + * The reference binding name defaults to the reference name.

    + * Line 253:
    + *

  • soap
  • + * ...
    + * version, including multiple versions.
    + *

    + * AComponent1 - no requires
    + * AComponent2 - requires = soap
    + * AComponent3 - requires = soap.1_1
    + * AComponent4 - requires = soap.1_2
    + */ + @Test + public void testMultiSoapBindings1() throws Exception { + + String aName = a1.getName(); + String b1Str1 = a1.getB1String("string1"); + String b1Str2 = a1.getB1String2("string2", "string3"); + int b1Int = a1.getB1Int(1000); + + System.out.println("AComponent1: " + aName + ", " + b1Str1 + ", " + b1Str2 + ", " + b1Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(1000, b1Int); + + aName = a2.getName(); + b1Str1 = a2.getB1String("string1"); + b1Str2 = a2.getB1String2("string2", "string3"); + b1Int = a2.getB1Int(2000); + + System.out.println("AComponent2: " + aName + ", " + b1Str1 + ", " + b1Str2 + ", " + b1Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(2000, b1Int); + + aName = a3.getName(); + b1Str1 = a3.getB1String("string1"); + b1Str2 = a3.getB1String2("string2", "string3"); + b1Int = a3.getB1Int(3000); + + System.out.println("AComponent3: " + aName + ", " + b1Str1 + ", " + b1Str2 + ", " + b1Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(3000, b1Int); + + aName = a4.getName(); + b1Str1 = a4.getB1String("string1"); + b1Str2 = a4.getB1String2("string2", "string3"); + b1Int = a4.getB1Int(4000); + + System.out.println("AComponent4: " + aName + ", " + b1Str1 + ", " + b1Str2 + ", " + b1Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(4000, b1Int); + + } + + /** + * Lines 201-225, 262-264:
    + * The WSDL service has one or more ports for each web service binding on + * the SCA service that has a SOAP requirement, or that refers to an + * existing WSDL binding, depending on the requirements of the web service + * binding. Each of those ports has a single binding.
    + *

    + * Test multiple SOAP bindings with two references which use different versions.
    + */ + @Test + public void testMultiSoapBindings2() throws Exception { + + String dName = d1.getName(); + String b1Str1 = d1.getB1String("string1"); + String b1Str2 = d1.getB1String2("string2", "string3"); + String c1Str1 = d1.getC1String("string5"); + String c1Str2 = d1.getC1String2("string6", "string7"); + int b1Int = d1.getB1Int(4000); + float c1Float = d1.getC1Float((float) 8.8); + Integer c1Integer = d1.getC1Integer(new Integer(9001)); + + System.out.println(dName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int + ", " + c1Str1 + ", " + c1Str2 + ", " + c1Float + ", " + c1Integer); + Assert.assertEquals("DService", dName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(4000, b1Int); + Assert.assertEquals("string5", c1Str1); + Assert.assertEquals("string6string7", c1Str2); + Assert.assertEquals((float) 8.8, c1Float); + Assert.assertEquals(new Integer(9001), c1Integer); + + dName = d2.getName(); + b1Str1 = d2.getB1String("string1"); + b1Str2 = d2.getB1String2("string2", "string3"); + c1Str1 = d2.getC1String("string5"); + c1Str2 = d2.getC1String2("string6", "string7"); + b1Int = d2.getB1Int(4000); + c1Float = d2.getC1Float((float) 8.8); + c1Integer = d2.getC1Integer(new Integer(9002)); + + System.out.println(dName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int + ", " + c1Str1 + ", " + c1Str2 + ", " + c1Float + ", " + c1Integer); + Assert.assertEquals("DService", dName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(4000, b1Int); + Assert.assertEquals("string5", c1Str1); + Assert.assertEquals("string6string7", c1Str2); + Assert.assertEquals((float) 8.8, c1Float); + Assert.assertEquals(new Integer(9002), c1Integer); + } + + /** + * Lines 201-225, 262-264:
    + * Test multiple SOAP bindings with promoted services and references.
    + */ + @Test + public void testMultiSoapBindings3() throws Exception { + + String dName = d3.getName(); + String b1Str1 = d3.getB1String("string1"); + String b1Str2 = d3.getB1String2("string2", "string3"); + String c1Str1 = d3.getC1String("string5"); + String c1Str2 = d3.getC1String2("string6", "string7"); + int b1Int = d3.getB1Int(4000); + float c1Float = d3.getC1Float((float) 8.8); + Integer c1Integer = d3.getC1Integer(new Integer(9003)); + + System.out.println(dName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int + ", " + c1Str1 + ", " + c1Str2 + ", " + c1Float + ", " + c1Integer); + Assert.assertEquals("DService", dName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(4000, b1Int); + Assert.assertEquals("string5", c1Str1); + Assert.assertEquals("string6string7", c1Str2); + Assert.assertEquals((float) 8.8, c1Float); + Assert.assertEquals(new Integer(9003), c1Integer); + + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/pom.xml b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/pom.xml new file mode 100644 index 0000000000..f37e885141 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/pom.xml @@ -0,0 +1,69 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + vtest-wsbinding + 2.0-M2-SNAPSHOT + ../pom.xml + + vtest-wsbinding-nowsdl + pom + + Apache Tuscany SCA Web Service Binding Verification Tests - No WSDL + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-M2-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + 2.0-M2-SNAPSHOT + + + + org.apache.tuscany.sca + vtest-utilities + 2.0-M2-SNAPSHOT + runtime + + + + + + + default + + true + + + defaultbinding + soapversion + multisoapbindings + promoted + + + + diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/pom.xml b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/pom.xml new file mode 100644 index 0000000000..091196bf0a --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/pom.xml @@ -0,0 +1,58 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + vtest-wsbinding-nowsdl + 2.0-M2-SNAPSHOT + ../pom.xml + + vtest-wsbinding-nowsdl-promoted + Apache Tuscany SCA Web Service Binding Verification Tests - No WSDL Promoted Service and Reference + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-M2-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + 2.0-M2-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-host-tomcat + 2.0-M2-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-M2-SNAPSHOT + runtime + + + diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/AService.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/AService.java new file mode 100644 index 0000000000..d786f36db1 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/AService.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * The interface for AService. + */ +@Remotable +public interface AService { + + public String getName(); + + public String getB1String(String aString); + + public String getB1String2(String aString, String bString); + + public int getB1Int(int i); + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BService.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BService.java new file mode 100644 index 0000000000..d4ebfcfe37 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BService.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BService { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public int getInt(int i); + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP.java new file mode 100644 index 0000000000..7289714ed2 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BServiceSOAP { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public int getInt(int i); + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP11.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP11.java new file mode 100644 index 0000000000..e0c58088da --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP11.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BServiceSOAP11 { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public int getInt(int i); + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP12.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP12.java new file mode 100644 index 0000000000..e279b1d55d --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP12.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BServiceSOAP12 { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public int getInt(int i); + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/CService.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/CService.java new file mode 100644 index 0000000000..9aaba29629 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/CService.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface CService { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public Integer getInteger(Integer i); + + public float getFloat(float f); + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/DService.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/DService.java new file mode 100644 index 0000000000..35291dc402 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/DService.java @@ -0,0 +1,45 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * The interface for DService. + */ +@Remotable +public interface DService { + + public String getName(); + + public String getB1String(String aString); + + public String getB1String2(String aString, String bString); + + public int getB1Int(int i); + + public String getC1String(String aString); + + public String getC1String2(String aString, String bString); + + public Integer getC1Integer(Integer i); + + public float getC1Float(float f); + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/AServiceImpl.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/AServiceImpl.java new file mode 100644 index 0000000000..0bc776b06d --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/AServiceImpl.java @@ -0,0 +1,51 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.AService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BService; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements AService. + */ +@Service(AService.class) +public class AServiceImpl implements AService { + + @Reference + public BService b1; + + public String getName() { + return "AService"; + } + + public String getB1String(String aString) { + return b1.getString(aString); + } + + public String getB1String2(String aString, String bString) { + return b1.getString2(aString, bString); + } + + public int getB1Int(int i) { + return b1.getInt(i); + } + +} \ No newline at end of file diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceImpl.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceImpl.java new file mode 100644 index 0000000000..8ebf27bdb1 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceImpl.java @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BService; +import org.oasisopen.sca.annotation.Service; + +@Service(BService.class) +public class BServiceImpl implements BService { + + public String getName() { + return "BService"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAP11Impl.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAP11Impl.java new file mode 100644 index 0000000000..22247f8372 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAP11Impl.java @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BServiceSOAP11; +import org.oasisopen.sca.annotation.Service; + +@Service(BServiceSOAP11.class) +public class BServiceSOAP11Impl implements BServiceSOAP11 { + + public String getName() { + return "BServiceSOAP11"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAP12Impl.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAP12Impl.java new file mode 100644 index 0000000000..4fbc82227c --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAP12Impl.java @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BServiceSOAP12; +import org.oasisopen.sca.annotation.Service; + +@Service(BServiceSOAP12.class) +public class BServiceSOAP12Impl implements BServiceSOAP12 { + + public String getName() { + return "BServiceSOAP12"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAPImpl.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAPImpl.java new file mode 100644 index 0000000000..83f6746a5f --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAPImpl.java @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BServiceSOAP; +import org.oasisopen.sca.annotation.Service; + +@Service(BServiceSOAP.class) +public class BServiceSOAPImpl implements BServiceSOAP { + + public String getName() { + return "BServiceSOAP"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/CServiceImpl.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/CServiceImpl.java new file mode 100644 index 0000000000..ec6611fae4 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/CServiceImpl.java @@ -0,0 +1,48 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.CService; +import org.oasisopen.sca.annotation.Service; + +@Service(CService.class) +public class CServiceImpl implements CService { + + public String getName() { + return "CService"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public Integer getInteger(Integer i) { + return i; + } + + public float getFloat(float f) { + return f; + } + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/DServiceImpl.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/DServiceImpl.java new file mode 100644 index 0000000000..4b488c376e --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/DServiceImpl.java @@ -0,0 +1,70 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.CService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.DService; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements AService. + */ +@Service(DService.class) +public class DServiceImpl implements DService { + + @Reference + public BService b1; + + @Reference + public CService c1; + + public String getName() { + return "DService"; + } + + public String getB1String(String aString) { + return b1.getString(aString); + } + + public String getB1String2(String aString, String bString) { + return b1.getString2(aString, bString); + } + + public int getB1Int(int i) { + return b1.getInt(i); + } + + public String getC1String(String aString) { + return c1.getString(aString); + } + + public String getC1String2(String aString, String bString) { + return c1.getString2(aString, bString); + } + + public Integer getC1Integer(Integer i) { + return c1.getInteger(i); + } + + public float getC1Float(float f) { + return c1.getFloat(f); + } +} \ No newline at end of file diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/resources/nowsdlpromoted.composite b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/resources/nowsdlpromoted.composite new file mode 100644 index 0000000000..f79df5bf8f --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/main/resources/nowsdlpromoted.composite @@ -0,0 +1,246 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/NoWsdlPromoted1TestCase.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/NoWsdlPromoted1TestCase.java new file mode 100644 index 0000000000..ae7dafa46e --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/NoWsdlPromoted1TestCase.java @@ -0,0 +1,85 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted; + +import junit.framework.Assert; +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.AService; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Tests the simplest form of the binding element without WSDL document + * described in section section 2.3.1 and 2.3.3.1 of SCA Web Services Binding + * V1.00 + */ +public class NoWsdlPromoted1TestCase { + + protected static ServiceFinder serviceFinder; + protected static String compositeName = "nowsdlpromoted.composite"; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + /** + * Lines 251-253, 287-291:
    + *

  • soap
  • + * This indicates that a SOAP binding is required. The SOAP binding may be + * of any SOAP version, including multiple versions.
    + *
    + * 2.3.3.1 SOAP versions
    + * Where a web service binding requires a specific SOAP version, then a + * single WSDL port and SOAP binding of the appropriate version is + * generated. Where no specific SOAP version is required, then one or more + * WSDL ports with associated SOAP bindings may be generated, depending on + * the level(s) supported in the target runtime.
    + *

    + * Tests promoted services and references
    + */ + @Test + public void testSoapVersion1() throws Exception { + + for (int i = 0; i < 8; i++) { + AService a = ServiceFinder.getService(AService.class, "AComponent" + (i+1)); + String aName = a.getName(); + String b1Str1 = a.getB1String("string1"); + String b1Str2 = a.getB1String2("string2", "string3"); + int b1Int = a.getB1Int(i * 1000 + 1000); + System.out.println(i + " - " + aName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(i * 1000 + 1000, b1Int); + } + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/NoWsdlPromoted2TestCase.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/NoWsdlPromoted2TestCase.java new file mode 100644 index 0000000000..a4744b9007 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/promoted/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/NoWsdlPromoted2TestCase.java @@ -0,0 +1,118 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted; + +import junit.framework.Assert; +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.AService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.DService; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Tests the simplest form of the binding element without WSDL document + * described in section section 2.3.1 and 2.3.3.1 of SCA Web Services Binding + * V1.00 + */ +public class NoWsdlPromoted2TestCase { + + protected static ServiceFinder serviceFinder; + protected static String compositeName = "nowsdlpromoted.composite"; + protected static DService d; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + d = ServiceFinder.getService(DService.class, "DComponent"); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + /** + * Lines 254-257, 287-291:
    + *

  • soap.1_1

  • + * A SOAP 1.1 binding only is required.
    + *
  • soap.1_2

  • + * A SOAP 1.2 binding only is required.
    + *
    + * 2.3.3.1 SOAP versions
    + * Where a web service binding requires a specific SOAP version, then a + * single WSDL port and SOAP binding of the appropriate version is + * generated. Where no specific SOAP version is required, then one or more + * WSDL ports with associated SOAP bindings may be generated, depending on + * the level(s) supported in the target runtime.
    + *

    + * Tests promoted services and references
    + */ + @Test + public void testSoapVersion2() throws Exception { + + for (int i = 8; i < 16; i++) { + AService a = ServiceFinder.getService(AService.class, "AComponent" + (i+1)); + String aName = a.getName(); + String b1Str1 = a.getB1String("string1"); + String b1Str2 = a.getB1String2("string2", "string3"); + int b1Int = a.getB1Int(i * 1000 + 1000); + System.out.println(i + " - " + aName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(i * 1000 + 1000, b1Int); + } + } + + /** + * Lines 254-257, 287-291:
    + * Test two references using binding.ws with 2 different SOAP versions + * and without WSDL document.
    + */ + @Test + public void testSoapVersion3() throws Exception { + String dName = d.getName(); + String b1Str1 = d.getB1String("string1"); + String b1Str2 = d.getB1String2("string2", "string3"); + String c1Str1 = d.getC1String("string5"); + String c1Str2 = d.getC1String2("string6", "string7"); + + int b1Int = d.getB1Int(4000); + float c1Float = d.getC1Float((float) 8.8); + + Integer c1Integer = d.getC1Integer(new Integer(9000)); + + System.out.println(dName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int + ", " + c1Str1 + ", " + c1Str2 + ", " + c1Float + ", " + c1Integer); + Assert.assertEquals("DService", dName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(4000, b1Int); + Assert.assertEquals("string5", c1Str1); + Assert.assertEquals("string6string7", c1Str2); + Assert.assertEquals((float) 8.8, c1Float); + Assert.assertEquals(new Integer(9000), c1Integer); + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/pom.xml b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/pom.xml new file mode 100644 index 0000000000..68a7c00226 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/pom.xml @@ -0,0 +1,58 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + vtest-wsbinding-nowsdl + 2.0-M2-SNAPSHOT + ../pom.xml + + vtest-wsbinding-nowsdl-soapversion + Apache Tuscany SCA Web Service Binding Verification Tests - No WSDL SOAP Version + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-M2-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + 2.0-M2-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-host-tomcat + 2.0-M2-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-M2-SNAPSHOT + runtime + + + diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/AService.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/AService.java new file mode 100644 index 0000000000..e78c977ef0 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/AService.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * The interface for AService. + */ +@Remotable +public interface AService { + + public String getName(); + + public String getB1String(String aString); + + public String getB1String2(String aString, String bString); + + public int getB1Int(int i); + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BService.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BService.java new file mode 100644 index 0000000000..1d95f089c9 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BService.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BService { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public int getInt(int i); + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP.java new file mode 100644 index 0000000000..45d10bbd45 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BServiceSOAP { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public int getInt(int i); + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP11.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP11.java new file mode 100644 index 0000000000..f55e23012f --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP11.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BServiceSOAP11 { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public int getInt(int i); + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP12.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP12.java new file mode 100644 index 0000000000..91c9860b98 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP12.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BServiceSOAP12 { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public int getInt(int i); + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/CService.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/CService.java new file mode 100644 index 0000000000..99d4f7b09f --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/CService.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface CService { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public Integer getInteger(Integer i); + + public float getFloat(float f); + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/DService.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/DService.java new file mode 100644 index 0000000000..e95fae6877 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/DService.java @@ -0,0 +1,45 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * The interface for DService. + */ +@Remotable +public interface DService { + + public String getName(); + + public String getB1String(String aString); + + public String getB1String2(String aString, String bString); + + public int getB1Int(int i); + + public String getC1String(String aString); + + public String getC1String2(String aString, String bString); + + public Integer getC1Integer(Integer i); + + public float getC1Float(float f); + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/AServiceImpl.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/AServiceImpl.java new file mode 100644 index 0000000000..a313b769e5 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/AServiceImpl.java @@ -0,0 +1,51 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.AService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BService; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements AService. + */ +@Service(AService.class) +public class AServiceImpl implements AService { + + @Reference + public BService b1; + + public String getName() { + return "AService"; + } + + public String getB1String(String aString) { + return b1.getString(aString); + } + + public String getB1String2(String aString, String bString) { + return b1.getString2(aString, bString); + } + + public int getB1Int(int i) { + return b1.getInt(i); + } + +} \ No newline at end of file diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceImpl.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceImpl.java new file mode 100644 index 0000000000..3baf691d88 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceImpl.java @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BService; +import org.oasisopen.sca.annotation.Service; + +@Service(BService.class) +public class BServiceImpl implements BService { + + public String getName() { + return "BService"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAP11Impl.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAP11Impl.java new file mode 100644 index 0000000000..965e195ae3 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAP11Impl.java @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BServiceSOAP11; +import org.oasisopen.sca.annotation.Service; + +@Service(BServiceSOAP11.class) +public class BServiceSOAP11Impl implements BServiceSOAP11 { + + public String getName() { + return "BServiceSOAP11"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAP12Impl.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAP12Impl.java new file mode 100644 index 0000000000..69e7edcc68 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAP12Impl.java @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BServiceSOAP12; +import org.oasisopen.sca.annotation.Service; + +@Service(BServiceSOAP12.class) +public class BServiceSOAP12Impl implements BServiceSOAP12 { + + public String getName() { + return "BServiceSOAP12"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAPImpl.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAPImpl.java new file mode 100644 index 0000000000..7e8294f778 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAPImpl.java @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BServiceSOAP; +import org.oasisopen.sca.annotation.Service; + +@Service(BServiceSOAP.class) +public class BServiceSOAPImpl implements BServiceSOAP { + + public String getName() { + return "BServiceSOAP"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/CServiceImpl.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/CServiceImpl.java new file mode 100644 index 0000000000..7909edeb39 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/CServiceImpl.java @@ -0,0 +1,48 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.CService; +import org.oasisopen.sca.annotation.Service; + +@Service(CService.class) +public class CServiceImpl implements CService { + + public String getName() { + return "CService"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public Integer getInteger(Integer i) { + return i; + } + + public float getFloat(float f) { + return f; + } + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/DServiceImpl.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/DServiceImpl.java new file mode 100644 index 0000000000..2f34bf08f9 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/DServiceImpl.java @@ -0,0 +1,70 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.CService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.DService; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements AService. + */ +@Service(DService.class) +public class DServiceImpl implements DService { + + @Reference + public BService b1; + + @Reference + public CService c1; + + public String getName() { + return "DService"; + } + + public String getB1String(String aString) { + return b1.getString(aString); + } + + public String getB1String2(String aString, String bString) { + return b1.getString2(aString, bString); + } + + public int getB1Int(int i) { + return b1.getInt(i); + } + + public String getC1String(String aString) { + return c1.getString(aString); + } + + public String getC1String2(String aString, String bString) { + return c1.getString2(aString, bString); + } + + public Integer getC1Integer(Integer i) { + return c1.getInteger(i); + } + + public float getC1Float(float f) { + return c1.getFloat(f); + } +} \ No newline at end of file diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/resources/nowsdlsoapversion.composite b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/resources/nowsdlsoapversion.composite new file mode 100644 index 0000000000..61a658ab55 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/main/resources/nowsdlsoapversion.composite @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/GeneratedWSDLTestCase.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/GeneratedWSDLTestCase.java new file mode 100644 index 0000000000..edd0d91072 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/GeneratedWSDLTestCase.java @@ -0,0 +1,438 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion; + +import java.lang.reflect.Method; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import javax.wsdl.Binding; +import javax.wsdl.BindingInput; +import javax.wsdl.BindingOperation; +import javax.wsdl.BindingOutput; +import javax.wsdl.Definition; +import javax.wsdl.Operation; +import javax.wsdl.Port; +import javax.wsdl.PortType; +import javax.wsdl.Service; +import javax.wsdl.extensions.http.HTTPAddress; +import javax.wsdl.extensions.http.HTTPBinding; +import javax.wsdl.extensions.http.HTTPOperation; +import javax.wsdl.extensions.soap.SOAPAddress; +import javax.wsdl.extensions.soap.SOAPBinding; +import javax.wsdl.extensions.soap.SOAPBody; +import javax.wsdl.extensions.soap.SOAPHeader; +import javax.wsdl.extensions.soap.SOAPHeaderFault; +import javax.wsdl.extensions.soap.SOAPOperation; +import javax.wsdl.extensions.soap12.SOAP12Address; +import javax.wsdl.extensions.soap12.SOAP12Binding; +import javax.wsdl.extensions.soap12.SOAP12Body; +import javax.wsdl.extensions.soap12.SOAP12Header; +import javax.wsdl.extensions.soap12.SOAP12HeaderFault; +import javax.wsdl.extensions.soap12.SOAP12Operation; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Ignore; +import org.junit.Test; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.CService; + + +/** + * Tests the simplest form of the binding element without WSDL document + * described in section section 2.3.2, 2.3.3, 2.3.3.1, and 2.3.4 of SCA + * Web Services Binding V1.00 + */ +public class GeneratedWSDLTestCase { + + protected static ServiceFinder serviceFinder; + protected static String compositeName = "nowsdlsoapversion.composite"; + protected static Definition bWSDL = null; + protected static Definition cWSDL = null; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + bWSDL = ServiceFinder.getWSDLDefinition("BComponent", "BService"); + cWSDL = ServiceFinder.getWSDLDefinition("CComponent", "CService"); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + /** + * Lines 260-262:
    + * A separate WSDL document is generated for each SCA service. Each has + * its own unique target namespace. This is to ensure that bindings on + * different services of the same component do not clash.
    + */ + @Test + @Ignore("TUSCANY-2607") + // Don't know why target namespaces are same + public void testSoapVersion4() throws Exception { + String cTargetNamespace = cWSDL.getTargetNamespace(); + String bTargetNamespace = bWSDL.getTargetNamespace(); + Assert.assertFalse(bTargetNamespace.equals(cTargetNamespace)); + } + + /** + * Lines 271-273:
    + * The target namespace of the WSDL document, and of the service, ports and + * generated binding elements is:
    + * Base System URI for HTTP / Component Name / Service Name
    + */ + @Test + @Ignore("TUSCANY-2607") + // The target namespace does not follow the convention + public void testSoapVersion5() throws Exception { + String bTargetNamespace = bWSDL.getTargetNamespace(); + String cTargetNamespace = cWSDL.getTargetNamespace(); + Assert.assertTrue(bTargetNamespace.endsWith("BComponent/BService")); + Assert.assertTrue(cTargetNamespace.endsWith("CComponent/CService")); + } + + private Map getPorts(Definition wsdl, String service) { + String targetNamespace = wsdl.getTargetNamespace(); + HashMap sMap = (HashMap) wsdl.getServices(); + for (Iterator i = sMap.keySet().iterator(); i.hasNext();) { + Object k1 = i.next(); + Service s = (Service) sMap.get(k1); + String qName = "{" + targetNamespace + "}" + service; + if (s.getQName().toString().equals(qName)) { + return s.getPorts(); + } + // Don't why implmentation changed to add Service at the end of qname + if (s.getQName().toString().equals(qName + "Service")) { + return s.getPorts(); + } + } + return null; + } + + /** + * Lines 262-264, 290-291:
    + * The WSDL service has one or more ports for each web service binding on + * the SCA service that has a SOAP requirement, or that refers to an + * existing WSDL binding, depending on the requirements of the web service + * binding. Each of those ports has a single binding.
    + *

    + * 2.3.3.1 SOAP versions
    + * Where no specific SOAP version is required, then one or more WSDL ports + * with associated SOAP bindings may be generated, depending on the level(s) + * supported in the target runtime.
    + *

    + * BComponent/BService is not specified a SOAP version. + * It should have following bindings:
    + *

  • SoapBinding - PortType and SOAP11
  • + *
  • SOAP12Binding - SOAP12
  • + *
  • HTTPBinding - Http
  • + *
    and following ports:
    + *
  • SoapAddress
  • + *
  • SOAP12Address
  • + *
  • HTTPAddress
  • + + */ + @Test + public void testSoapVersion6() throws Exception { + + Map pMap = getPorts(bWSDL, "BService"); + int numSoapPort = 0; + int numSoap12Port = 0; + int numHttpPort = 0; + for (Iterator iter = pMap.keySet().iterator(); iter.hasNext();) { + Object k2 = iter.next(); + Port p = (Port) pMap.get(k2); + List eeList = p.getExtensibilityElements(); + for (int i = 0; i < eeList.size(); i++) { + Object address = eeList.get(i); + if (address instanceof SOAPAddress) { + numSoapPort++; + } else if (address instanceof SOAP12Address) { + numSoap12Port++; + } else if (address instanceof HTTPAddress) { + numHttpPort++; + } else { + System.out.println("address:" + address.getClass()); + } + } + } + + Map bMap = bWSDL.getBindings(); + int numSoapBinding = 0; + int numSoap12Binding = 0; + int numHttpBinding = 0; + for (Iterator iter = bMap.keySet().iterator(); iter.hasNext();) { + Object k1 = iter.next(); + Binding b = (Binding) bMap.get(k1); + List eeList = b.getExtensibilityElements(); + for (int i = 0; i < eeList.size(); i++) { + Object binding = eeList.get(i); + if (binding instanceof SOAPBinding) { + numSoapBinding++; + } else if (binding instanceof SOAP12Binding) { + numSoap12Binding++; + } else if (binding instanceof HTTPBinding) { + numHttpBinding++; + } + } + } + + System.out.println("testSoapVersion6"); + System.out.println(" # of SOAPPort: " + numSoapPort); + System.out.println(" # of SOAP12Port: " + numSoap12Port); + System.out.println(" # of HTTPPort: " + numHttpPort); + System.out.println(" # of SOAPBinding: " + numSoapBinding); + System.out.println(" # of SOAP12Binding: " + numSoap12Binding); + System.out.println(" # of HTTPBinding: " + numHttpBinding); + + Assert.assertEquals(numSoapPort, 1); + Assert.assertEquals(numSoap12Port, 0); + Assert.assertTrue(numSoapBinding > 0); + Assert.assertEquals(numSoap12Binding, 0); + // Skipped to test HTTP + + } + + /** + * Lines 275-284:
    + * 2.3.3 WSDL Bindings
    + * The binding elements in the generated WSDL document are either defined + * within the document, derived from the requirements of the binding, or + * are imported from existing WSDL documents.
    + * Generated bindings have the following fixed assumptions:
    + *
  • use="literal" for input and output messages
  • + *
  • style="document" for the binding
  • + *
  • All faults map to soap:faults
  • + *
  • No header or headerFault elements are generated
  • + *
  • The transport is "http://schemas.xmlsoap.org/soap/http", unless the + * system provides intents for alternative transports
    + *

    + */ + @Test + public void testSoapVersion7() throws Exception { + Map bMap = bWSDL.getBindings(); + for (Iterator iter = bMap.keySet().iterator(); iter.hasNext();) { + Object k1 = iter.next(); + Binding b = (Binding) bMap.get(k1); + List eeList = b.getExtensibilityElements(); + for (int i = 0; i < eeList.size(); i++) { + Object binding = eeList.get(i); + if (binding instanceof SOAPBinding) { + SOAPBinding sb = (SOAPBinding) binding; + Assert.assertEquals(sb.getStyle(), "document"); + Assert.assertEquals(sb.getTransportURI(), "http://schemas.xmlsoap.org/soap/http"); + } else if (binding instanceof SOAP12Binding) { + SOAP12Binding sb = (SOAP12Binding) binding; + Assert.assertEquals(sb.getStyle(), "document"); + Assert.assertEquals(sb.getTransportURI(), "http://schemas.xmlsoap.org/soap/http"); + } else if (binding instanceof HTTPBinding) { + } + } + List operations = b.getBindingOperations(); + for (int i = 0; i < eeList.size(); i++) { + BindingOperation bop = (BindingOperation) operations.get(i); + + List oeeList = bop.getExtensibilityElements(); + for (int j = 0; j < eeList.size(); j++) { + Object op = oeeList.get(j); + if (op instanceof SOAPOperation) { + SOAPOperation sop = (SOAPOperation) op; + if (sop.getStyle() != null) + Assert.assertEquals(sop.getStyle(), "document"); + } else if (op instanceof SOAP12Operation) { + SOAP12Operation sop = (SOAP12Operation) op; + Assert.assertEquals(sop.getStyle(), "document"); + } else if (op instanceof HTTPOperation) { + // HTTPOperation hop = (HTTPOperation) op; + } + } + + BindingInput bInput = (BindingInput) bop.getBindingInput(); + List bInputList = bInput.getExtensibilityElements(); + for (int j = 0; j < eeList.size(); j++) { + Object body = bInputList.get(j); + if (body instanceof SOAPBody) { + SOAPBody sBody = (SOAPBody) body; + Assert.assertEquals(sBody.getUse(), "literal"); + } else if (body instanceof SOAP12Body) { + SOAP12Body sBody = (SOAP12Body) body; + Assert.assertEquals(sBody.getUse(), "literal"); + } else { + Assert.assertFalse(body instanceof SOAPHeader); + Assert.assertFalse(body instanceof SOAP12Header); + Assert.assertFalse(body instanceof SOAPHeaderFault); + Assert.assertFalse(body instanceof SOAP12HeaderFault); + } + } + + BindingOutput bOutput = (BindingOutput) bop.getBindingOutput(); + List bOutputList = bOutput.getExtensibilityElements(); + for (int j = 0; j < eeList.size(); j++) { + Object body = bOutputList.get(j); + if (body instanceof SOAPBody) { + SOAPBody sBody = (SOAPBody) body; + Assert.assertEquals(sBody.getUse(), "literal"); + } else if (body instanceof SOAP12Body) { + SOAP12Body sBody = (SOAP12Body) body; + Assert.assertEquals(sBody.getUse(), "literal"); + } else { + Assert.assertFalse(body instanceof SOAPHeader); + Assert.assertFalse(body instanceof SOAP12Header); + Assert.assertFalse(body instanceof SOAPHeaderFault); + Assert.assertFalse(body instanceof SOAP12HeaderFault); + } + } + + Map bFaults = bop.getBindingFaults(); + if (bFaults.size() > 0) + System.out.println("WARNING: Skipped to test binding faults"); + + } + } + } + + /** + * Lines 288-289:
    + * 2.3.3.1 SOAP versions
    + * Where a web service binding requires a specific SOAP version, then a + * single WSDL port and SOAP binding of the appropriate version is + * generated. + */ + @Test + public void testSoapVersion8() throws Exception { + + Map pMap = getPorts(cWSDL, "CService"); + int numSoapPort = 0; + int numSoap12Port = 0; + int numHttpPort = 0; + for (Iterator iter = pMap.keySet().iterator(); iter.hasNext();) { + Object k2 = iter.next(); + Port p = (Port) pMap.get(k2); + List eeList = p.getExtensibilityElements(); + for (int i = 0; i < eeList.size(); i++) { + Object address = eeList.get(i); + if (address instanceof SOAPAddress) { + numSoapPort++; + } else if (address instanceof SOAP12Address) { + numSoap12Port++; + } else if (address instanceof HTTPAddress) { + numHttpPort++; + }; + } + } + + Map cMap = cWSDL.getBindings(); + int numSoapBinding = 0; + int numSoap12Binding = 0; + int numHttpBinding = 0; + for (Iterator iter = cMap.keySet().iterator(); iter.hasNext();) { + Object k1 = iter.next(); + Binding b = (Binding) cMap.get(k1); + List eeList = b.getExtensibilityElements(); + for (int i = 0; i < eeList.size(); i++) { + Object binding = eeList.get(i); + if (binding instanceof SOAPBinding) { + numSoapBinding++; + } else if (binding instanceof SOAP12Binding) { + numSoap12Binding++; + } else if (binding instanceof HTTPBinding) { + numHttpBinding++; + } + } + } + + System.out.println("testSoapVersion8"); + System.out.println(" # of SOAPPort: " + numSoapPort); + System.out.println(" # of SOAP12Port: " + numSoap12Port); + System.out.println(" # of HTTPPort: " + numHttpPort); + System.out.println(" # of SOAPBinding: " + numSoapBinding); + System.out.println(" # of SOAP12Binding: " + numSoap12Binding); + System.out.println(" # of HTTPBinding: " + numHttpBinding); + + Assert.assertTrue(numSoap12Port > 0); + Assert.assertTrue(numSoap12Binding > 0); + Assert.assertEquals(numSoapPort, 0); + Assert.assertEquals(numSoapBinding, 0); + // Skipped to test HTTP + } + + private boolean testOperation(Operation op, Method m[]) { + for (int i = 0; i < m.length; i++) { + if(m[i].getName().equals(op.getName())) { + Assert.assertNotNull(op.getInput()); + Assert.assertNotNull(op.getOutput()); + return true; + } + } + return false; + } + + /** + * Lines 293-296:
    + * 2.3.4 WSDL PortType
    + * An SCA service has a single interface. This interface is always imported + * into the generated WSDL document. This may be done directly for + * WSDL-defined interfaces, or indirectly via a WSDL generated from the + * interface type for the service.
    + */ + @Test + public void testSoapVersion9() throws Exception { + Method bMethod[] = BService.class.getMethods(); + Map bPTMap = bWSDL.getPortTypes(); + Assert.assertEquals(bPTMap.size(), 1); + for (Iterator iter = bPTMap.keySet().iterator(); iter.hasNext();) { + PortType pt = (PortType) bPTMap.get(iter.next()); + List opList = pt.getOperations(); + Assert.assertEquals(bMethod.length, opList.size()); + for (int i = 0; i < opList.size(); i++) { + Operation op = (Operation) opList.get(i); + Assert.assertTrue(testOperation(op, bMethod)); + } + } + + Method cMethod[] = CService.class.getMethods(); + Map cPTMap = cWSDL.getPortTypes(); + Assert.assertEquals(cPTMap.size(), 1); + for (Iterator iter = cPTMap.keySet().iterator(); iter.hasNext();) { + PortType pt = (PortType) cPTMap.get(iter.next()); + List opList = pt.getOperations(); + Assert.assertEquals(cMethod.length, opList.size()); + for (int i = 0; i < opList.size(); i++) { + Operation op = (Operation) opList.get(i); + Assert.assertTrue(testOperation(op, cMethod)); + } + } + } + + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/NoWsdlNoSoapVersionTestCase.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/NoWsdlNoSoapVersionTestCase.java new file mode 100644 index 0000000000..896b5a3d89 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/NoWsdlNoSoapVersionTestCase.java @@ -0,0 +1,84 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion; + +import junit.framework.Assert; +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.AService; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Tests the simplest form of the binding element without WSDL document + * described in section section 2.3.1 and 2.3.3.1 of SCA Web Services Binding + * V1.00 + */ +public class NoWsdlNoSoapVersionTestCase { + + protected static ServiceFinder serviceFinder; + protected static String compositeName = "nowsdlsoapversion.composite"; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + /** + * Lines 251-253, 287-291:
    + *

  • soap
  • + * This indicates that a SOAP binding is required. The SOAP binding may be + * of any SOAP version, including multiple versions.
    + *
    + * 2.3.3.1 SOAP versions
    + * Where a web service binding requires a specific SOAP version, then a + * single WSDL port and SOAP binding of the appropriate version is + * generated. Where no specific SOAP version is required, then one or more + * WSDL ports with associated SOAP bindings may be generated, depending on + * the level(s) supported in the target runtime.
    + *

    + */ + @Test + public void testSoapVersion1() throws Exception { + + for (int i = 0; i < 8; i++) { + AService a = ServiceFinder.getService(AService.class, "AComponent" + (i+1)); + String aName = a.getName(); + String b1Str1 = a.getB1String("string1"); + String b1Str2 = a.getB1String2("string2", "string3"); + int b1Int = a.getB1Int(i * 1000 + 1000); + System.out.println(i + " - " + aName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(i * 1000 + 1000, b1Int); + } + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/NoWsdlSoapVersionTestCase.java b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/NoWsdlSoapVersionTestCase.java new file mode 100644 index 0000000000..c65f7e8e52 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/NoWsdlSoapVersionTestCase.java @@ -0,0 +1,121 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion; + +import junit.framework.Assert; +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.AService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.DService; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Tests the simplest form of the binding element without WSDL document + * described in section section 2.3.1, 2.3.2 and 2.3.3.1 of SCA Web Services + * Binding V1.00 + */ +public class NoWsdlSoapVersionTestCase { + + protected static ServiceFinder serviceFinder; + protected static String compositeName = "nowsdlsoapversion.composite"; + protected static DService d; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + d = ServiceFinder.getService(DService.class, "DComponent"); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + /** + * Lines 254-257:
    + *

  • soap.1_1

  • + * A SOAP 1.1 binding only is required.
    + *
  • soap.1_2

  • + * A SOAP 1.2 binding only is required.
    + *
    + * 2.3.3.1 SOAP versions
    + * Where a web service binding requires a specific SOAP version, then a + * single WSDL port and SOAP binding of the appropriate version is + * generated. Where no specific SOAP version is required, then one or more + * WSDL ports with associated SOAP bindings may be generated, depending on + * the level(s) supported in the target runtime.
    + *

    + */ + @Test + public void testSoapVersion2() throws Exception { + + for (int i = 8; i < 16; i++) { + AService a = ServiceFinder.getService(AService.class, "AComponent" + (i+1)); + String aName = a.getName(); + String b1Str1 = a.getB1String("string1"); + String b1Str2 = a.getB1String2("string2", "string3"); + int b1Int = a.getB1Int(i * 1000 + 1000); + System.out.println(i + " - " + aName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(i * 1000 + 1000, b1Int); + } + } + + /** + * Lines 254-257, 287-291, 260-262:
    + * A separate WSDL document is generated for each SCA service. Each has + * its own unique target namespace. This is to ensure that bindings on + * different services of the same component do not clash.
    + *

    + * Test two references using binding.ws with 2 different SOAP versions + * and without WSDL document.
    + */ + @Test + public void testSoapVersion3() throws Exception { + String dName = d.getName(); + String b1Str1 = d.getB1String("string1"); + String b1Str2 = d.getB1String2("string2", "string3"); + String c1Str1 = d.getC1String("string5"); + String c1Str2 = d.getC1String2("string6", "string7"); + + int b1Int = d.getB1Int(4000); + float c1Float = d.getC1Float((float) 8.8); + + Integer c1Integer = d.getC1Integer(new Integer(9000)); + + System.out.println(dName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int + ", " + c1Str1 + ", " + c1Str2 + ", " + c1Float + ", " + c1Integer); + Assert.assertEquals("DService", dName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(4000, b1Int); + Assert.assertEquals("string5", c1Str1); + Assert.assertEquals("string6string7", c1Str2); + Assert.assertEquals((float) 8.8, c1Float); + Assert.assertEquals(new Integer(9000), c1Integer); + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/pom.xml b/branches/sca-java-2.0-M2/vtest/wsbinding/pom.xml new file mode 100644 index 0000000000..b65f54fa73 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/pom.xml @@ -0,0 +1,68 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-vtest + 2.0-M2-SNAPSHOT + ../pom.xml + + vtest-wsbinding + pom + Apache Tuscany SCA Web Service Binding Verification Tests + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-M2-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + 2.0-M2-SNAPSHOT + + + + org.apache.tuscany.sca + vtest-utilities + 2.0-M2-SNAPSHOT + runtime + + + + + + + + default + + true + + + service + nowsdl + wsdlelement + + + + diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/service/pom.xml b/branches/sca-java-2.0-M2/vtest/wsbinding/service/pom.xml new file mode 100644 index 0000000000..0747e24423 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/service/pom.xml @@ -0,0 +1,58 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + vtest-wsbinding + 2.0-M2-SNAPSHOT + ../pom.xml + + vtest-wsbinding-service + Apache Tuscany SCA Web Service Binding Verification Tests - Service + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-M2-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + 2.0-M2-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-host-tomcat + 2.0-M2-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-M2-SNAPSHOT + runtime + + + diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/AClientService.java b/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/AClientService.java new file mode 100644 index 0000000000..bdb5aa3821 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/AClientService.java @@ -0,0 +1,29 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * The interface for AClientService. + */ +@Remotable +public interface AClientService { + public String getGreetingsForward(String name); +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/AService.java b/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/AService.java new file mode 100644 index 0000000000..2dc7afce0c --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/AService.java @@ -0,0 +1,29 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * The interface for AService. + */ +@Remotable +public interface AService { + public String getGreetings(String name); +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/impl/AClientServiceImpl.java b/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/impl/AClientServiceImpl.java new file mode 100644 index 0000000000..93cd716abe --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/impl/AClientServiceImpl.java @@ -0,0 +1,38 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.AClientService; +import org.apache.tuscany.sca.vtest.wsbinding.AService; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements AService. + */ +@Service(AClientService.class) +public class AClientServiceImpl implements AClientService { + + @Reference + protected AService aService; + + public String getGreetingsForward(String name) { + return aService.getGreetings(name); + } +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/impl/AServiceImpl.java b/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/impl/AServiceImpl.java new file mode 100644 index 0000000000..6ab7668c8b --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/impl/AServiceImpl.java @@ -0,0 +1,33 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.AService; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements AService. + */ +@Service(AService.class) +public class AServiceImpl implements AService { + + public String getGreetings(String name) { + return "Hello " + name; + } +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/resources/aservice.wsdl b/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/resources/aservice.wsdl new file mode 100644 index 0000000000..e7953eb2b4 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/resources/aservice.wsdl @@ -0,0 +1,139 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/resources/endpoint-uri-resolution.composite b/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/resources/endpoint-uri-resolution.composite new file mode 100644 index 0000000000..0d92174442 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/resources/endpoint-uri-resolution.composite @@ -0,0 +1,103 @@ + + + + + + + + + + + http://localhost:8085/AService/endpointref + + + + + + + + + inAddress + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/resources/endpointreference.composite b/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/resources/endpointreference.composite new file mode 100644 index 0000000000..3ba152b7b8 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/resources/endpointreference.composite @@ -0,0 +1,40 @@ + + + + + + + + + + http://localhost:8085/AService/endpointref + + + + + + + + + + + diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/resources/wsdlbinding.composite b/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/resources/wsdlbinding.composite new file mode 100644 index 0000000000..85c604070a --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/resources/wsdlbinding.composite @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/resources/wsdlendpoint.composite b/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/resources/wsdlendpoint.composite new file mode 100644 index 0000000000..0c11c79efe --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/resources/wsdlendpoint.composite @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/resources/wsdlport.composite b/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/resources/wsdlport.composite new file mode 100644 index 0000000000..859b93bec4 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/resources/wsdlport.composite @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/resources/wsdlservice.composite b/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/resources/wsdlservice.composite new file mode 100644 index 0000000000..fa96e650de --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/main/resources/wsdlservice.composite @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/EndpointReferenceTestCase.java b/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/EndpointReferenceTestCase.java new file mode 100644 index 0000000000..d858daaf78 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/EndpointReferenceTestCase.java @@ -0,0 +1,67 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Tests EndpointReference element specified in service binding.ws as per Web + * Services Binding Specification v1.00 - Sec 2.1 - Lines 61 to 65. + */ +public class EndpointReferenceTestCase { + + protected static String compositeName = "endpointreference.composite"; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + /** + * Lines 61-65 + *

    + * /binding.ws/wsa:EndpointReference – optional WS-Addressing [6] + * EndpointReference that specifies the endpoint for the service or + * reference. When this element is present along with the wsdlElement + * attribute on the parent element, the wsdlElement attribute value MUST be + * of the ‘Binding’ form as specified above, i.e. #wsdl.binding(). + */ + @Test + public void testWsdlBinding() throws Exception { + AClientService aClient = ServiceFinder.getService(AClientService.class, "AClientComponent"); + Assert.assertEquals("Hello Pandu", aClient.getGreetingsForward("Pandu")); + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/EndpointUriResolutionTestCase.java b/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/EndpointUriResolutionTestCase.java new file mode 100644 index 0000000000..49f9db248f --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/EndpointUriResolutionTestCase.java @@ -0,0 +1,209 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Ignore; +import org.junit.Test; + +/** + * Tests "Endpoint URI resolution" for service binding.ws as per Web Services + * Binding Specification v1.00 - Sec 2.1.1 - Lines 70 to 85. + */ +public class EndpointUriResolutionTestCase { + + protected static String compositeName = "endpoint-uri-resolution.composite"; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + /** + * Lines 71-78 + *

    + * The rules for resolving the URI at which an SCA service is hosted, or SCA + * reference targets, when used with binding.ws (in precedence order) are: + * 1. The URIs in the endpoint(s) of the referenced WSDL or The URI + * specified by the wsa:Address element of the wsa:EndpointReference, 2. The + * explicitly stated URI in the "uri" attribute of the binding.ws element, + * which may be relative, 3. The implicit URI as defined by the Assembly + * specification + *

    + * This method tests that URI in the endpoint takes precedence. + */ + @Test + public void testUriInEndpoint() throws Exception { + AClientService aClient = ServiceFinder.getService(AClientService.class, "AClientComponent1"); + Assert.assertEquals("Hello Pandu", aClient.getGreetingsForward("Pandu")); + } + + /** + * Lines 71-78 + *

    + * The rules for resolving the URI at which an SCA service is hosted, or SCA + * reference targets, when used with binding.ws (in precedence order) are: + * 1. The URIs in the endpoint(s) of the referenced WSDL or The URI + * specified by the wsa:Address element of the wsa:EndpointReference, 2. The + * explicitly stated URI in the "uri" attribute of the binding.ws element, + * which may be relative, 3. The implicit URI as defined by the Assembly + * specification + *

    + * This method tests that URI in the EndpointReference takes precedence. + */ + @Test + public void testUriInEndpointReference() throws Exception { + AClientService aClient = ServiceFinder.getService(AClientService.class, "AClientComponent2"); + Assert.assertEquals("Hello Pandu", aClient.getGreetingsForward("Pandu")); + } + + /** + * Lines 71-78 + *

    + * The rules for resolving the URI at which an SCA service is hosted, or SCA + * reference targets, when used with binding.ws (in precedence order) are: + * 1. The URIs in the endpoint(s) of the referenced WSDL or The URI + * specified by the wsa:Address element of the wsa:EndpointReference, 2. The + * explicitly stated URI in the "uri" attribute of the binding.ws element, + * which may be relative, 3. The implicit URI as defined by the Assembly + * specification + *

    + * This method tests that explicitly stated URI in the "uri" attribute of + * binding.ws takes precedence. + */ + @Test + public void testUriInBindingWs() throws Exception { + AClientService aClient = ServiceFinder.getService(AClientService.class, "AClientComponent3"); + Assert.assertEquals("Hello Pandu", aClient.getGreetingsForward("Pandu")); + } + + /** + * Lines 71-78 + *

    + * The rules for resolving the URI at which an SCA service is hosted, or SCA + * reference targets, when used with binding.ws (in precedence order) are: + * 1. The URIs in the endpoint(s) of the referenced WSDL or The URI + * specified by the wsa:Address element of the wsa:EndpointReference, 2. The + * explicitly stated URI in the "uri" attribute of the binding.ws element, + * which may be relative, 3. The implicit URI as defined by the Assembly + * specification + *

    + * This method tests that implicit URI is used. + */ + @Ignore("TUSCANY-2523 - Port 8080 conflicts with Continuum") + @Test + public void testImplicitUri() throws Exception { + AClientService aClient = ServiceFinder.getService(AClientService.class, "AClientComponent4"); + Assert.assertEquals("Hello Pandu", aClient.getGreetingsForward("Pandu")); + } + + /** + * Lines 71-78 + *

    + * The rules for resolving the URI at which an SCA service is hosted, or SCA + * reference targets, when used with binding.ws (in precedence order) are: + * 1. The URIs in the endpoint(s) of the referenced WSDL or The URI + * specified by the wsa:Address element of the wsa:EndpointReference, 2. The + * explicitly stated URI in the "uri" attribute of the binding.ws element, + * which may be relative, 3. The implicit URI as defined by the Assembly + * specification + *

    + * This method tests that explicitly stated URI in the "uri" attribute of + * the binding.ws is used in the absence of a wsdlElement. + */ + @Test + public void testNoWsdlElement() throws Exception { + AClientService aClient = ServiceFinder.getService(AClientService.class, "AClientComponent5"); + Assert.assertEquals("Hello Pandu", aClient.getGreetingsForward("Pandu")); + } + + /** + * Lines 79-83 + *

    + * The URI in the WSDL endpoint or in the wsa:Address of an EPR may be a + * relative URI, in which case it is relative to the URI defined in (2) or + * (3). The wsa:Address element can be the empty relative URI, in which case + * it uses the URI defined in (2) or (3) directly. This allows the EPR + * writer to specify reference parameters, metadata and other EPR contents + * while allowing the URI to be chosen by the deployer. + *

    + * This method tests that the relative URI specified in WSDL endpoint is + * used along with the explicit URI specified in the "uri" attribute of + * binding.ws element. + */ + @Test + public void testRelativeUriInWsdl() throws Exception { + AClientService aClient = ServiceFinder.getService(AClientService.class, "AClientComponent6"); + Assert.assertEquals("Hello Pandu", aClient.getGreetingsForward("Pandu")); + } + + /** + * Lines 79-83 + *

    + * The URI in the WSDL endpoint or in the wsa:Address of an EPR may be a + * relative URI, in which case it is relative to the URI defined in (2) or + * (3). The wsa:Address element can be the empty relative URI, in which case + * it uses the URI defined in (2) or (3) directly. This allows the EPR + * writer to specify reference parameters, metadata and other EPR contents + * while allowing the URI to be chosen by the deployer. + *

    + * This method tests that the relative URI specified in wsa:Address is used + * along with the explicit URI specified in the "uri" attribute of + * binding.ws element. + */ + @Test + public void testRelativeUriInAddress() throws Exception { + AClientService aClient = ServiceFinder.getService(AClientService.class, "AClientComponent7"); + Assert.assertEquals("Hello Pandu", aClient.getGreetingsForward("Pandu")); + } + + /** + * Lines 79-83 + *

    + * The URI in the WSDL endpoint or in the wsa:Address of an EPR may be a + * relative URI, in which case it is relative to the URI defined in (2) or + * (3). The wsa:Address element can be the empty relative URI, in which case + * it uses the URI defined in (2) or (3) directly. This allows the EPR + * writer to specify reference parameters, metadata and other EPR contents + * while allowing the URI to be chosen by the deployer. + *

    + * This method tests that when wsa:Address is empty, the explicit URI + * specified in the "uri" attribute of binding.ws element is used. + */ + @Test + public void testEmptyAddressElement() throws Exception { + AClientService aClient = ServiceFinder.getService(AClientService.class, "AClientComponent8"); + Assert.assertEquals("Hello Pandu", aClient.getGreetingsForward("Pandu")); + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlBindingTestCase.java b/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlBindingTestCase.java new file mode 100644 index 0000000000..292de8b654 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlBindingTestCase.java @@ -0,0 +1,68 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Tests wsdlElement specified on service binding.ws as per Web Services Binding Specification v1.00 - Sec 2.1 + * - Lines 35 to 54. + */ +public class WsdlBindingTestCase { + + protected static String compositeName = "wsdlbinding.composite"; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + /** + * Lines 50-54 + *

    + * Binding: + * #wsdl.binding() + * In this case, the identified WSDL binding must have an equivalent PortType with the SCA + * service or reference. In this case the endpoint address URI for the SCA service or + * reference must be provided via the URI attribute on the binding. + */ + @Test + public void testWsdlBinding() throws Exception { + AClientService aClientBnd11 = ServiceFinder.getService(AClientService.class, "AClientBnd11Component"); + Assert.assertEquals("Hello Pandu", aClientBnd11.getGreetingsForward("Pandu")); + AClientService aClientBnd12 = ServiceFinder.getService(AClientService.class, "AClientBnd12Component"); + Assert.assertEquals("Hello Pandu", aClientBnd12.getGreetingsForward("Pandu")); + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlEndpointTestCase.java b/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlEndpointTestCase.java new file mode 100644 index 0000000000..842da87bd4 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlEndpointTestCase.java @@ -0,0 +1,66 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Ignore; +import org.junit.Test; + +/** + * Tests wsdlElement specified on service binding.ws as per Web Services Binding + * Specification v1.00 - Sec 2.1 - Lines 35 to 54. + */ +public class WsdlEndpointTestCase { + + protected static String compositeName = "wsdlendpoint.composite"; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + /** + * Lines 46-49 + *

    + * Endpoint (WSDL 2.0): #wsdl.endpoint(/) + * In this case, the identified endpoint in the WSDL 2.0 Service must have + * an equivalent PortType with the SCA service or reference. + */ + @Test + @Ignore("WSDL2.0 Support") + public void testWsdlEndpoint() throws Exception { + AClientService aClient = ServiceFinder.getService(AClientService.class, "AClientComponent"); + Assert.assertEquals("Hello Pandu", aClient.getGreetingsForward("Pandu")); + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlPortTestCase.java b/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlPortTestCase.java new file mode 100644 index 0000000000..0545cef776 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlPortTestCase.java @@ -0,0 +1,66 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Tests wsdlElement specified on service binding.ws as per Web Services Binding + * Specification v1.00 - Sec 2.1 - Lines 35 to 54. + */ +public class WsdlPortTestCase { + + protected static String compositeName = "wsdlport.composite"; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + /** + * Lines 42-45 + *

    + * Port (WSDL 1.1): #wsdl.port(/) + * In this case, the identified port in the WSDL 1.1 Service must have an + * equivalent PortType with the SCA service or reference. + */ + @Test + public void testWsdlPort() throws Exception { + AClientService aClientP11 = ServiceFinder.getService(AClientService.class, "AClientP11Component"); + Assert.assertEquals("Hello Pandu", aClientP11.getGreetingsForward("Pandu")); + AClientService aClientP12 = ServiceFinder.getService(AClientService.class, "AClientP12Component"); + Assert.assertEquals("Hello Pandu", aClientP12.getGreetingsForward("Pandu")); + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlServiceTestCase.java b/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlServiceTestCase.java new file mode 100644 index 0000000000..aa2b2fac7a --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlServiceTestCase.java @@ -0,0 +1,69 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Ignore; +import org.junit.Test; + +/** + * Tests wsdlElement specified on service binding.ws as per Web Services Binding + * Specification v1.00 - Sec 2.1 - Lines 35 to 54. + */ +public class WsdlServiceTestCase { + + protected static String compositeName = "wsdlservice.composite"; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + /** + * Lines 38-41 + *

    + * Service: #wsdl.service() In this case, + * all the endpoints in the WSDL Service that have equivalent PortTypes with + * the SCA service or reference must be available to the SCA service or + * reference. + */ + @Test + @Ignore("TUSCANY-2298") + public void testWsdlService() throws Exception { + AClientService aClientS11 = ServiceFinder.getService(AClientService.class, "AClientS11Component"); + Assert.assertEquals("Hello Pandu", aClientS11.getGreetingsForward("Pandu")); + AClientService aClientS12 = ServiceFinder.getService(AClientService.class, "AClientS12Component"); + Assert.assertEquals("Hello Pandu", aClientS12.getGreetingsForward("Pandu")); + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/pom.xml b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/pom.xml new file mode 100644 index 0000000000..a03e00e656 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/pom.xml @@ -0,0 +1,58 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + vtest-wsbinding-wsdlelement + 2.0-M2-SNAPSHOT + ../pom.xml + + vtest-wsbinding-wsdlelement-binding + Apache Tuscany SCA Web Service Binding Verification Tests - WSDL wsdlElement wsdl.binding + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-M2-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + 2.0-M2-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-host-tomcat + 2.0-M2-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-M2-SNAPSHOT + runtime + + + diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/AService.java b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/AService.java new file mode 100644 index 0000000000..2f6db92318 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/AService.java @@ -0,0 +1,40 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * The interface for AService. + */ +@Remotable +public interface AService { + + public String getName(); + + public String getB1String(String aString); + + public String getB1String2(String aString, String bString); + + public int getB1Int(int i); + + public String getB2String(String aString); + + public int getB2Int(int i); +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/BService.java b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/BService.java new file mode 100644 index 0000000000..a040adb113 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/BService.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BService { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public int getInt(int i); + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/BService2.java b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/BService2.java new file mode 100644 index 0000000000..3195263584 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/BService2.java @@ -0,0 +1,33 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BService2 { + + public String getString(String aString); + + public int getInt(int i); + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/CService.java b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/CService.java new file mode 100644 index 0000000000..aed5abebf4 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/CService.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface CService { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public Integer getInteger(Integer i); + + public float getFloat(float f); + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/DService.java b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/DService.java new file mode 100644 index 0000000000..3386ea709f --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/DService.java @@ -0,0 +1,45 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * The interface for DService. + */ +@Remotable +public interface DService { + + public String getName(); + + public String getB1String(String aString); + + public String getB1String2(String aString, String bString); + + public int getB1Int(int i); + + public String getC1String(String aString); + + public String getC1String2(String aString, String bString); + + public Integer getC1Integer(Integer i); + + public float getC1Float(float f); + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/AServiceImpl.java b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/AServiceImpl.java new file mode 100644 index 0000000000..853cc74d4e --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/AServiceImpl.java @@ -0,0 +1,63 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.AService; +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.BService; +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.BService2; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements AService. + */ +@Service(AService.class) +public class AServiceImpl implements AService { + + @Reference(required=false) + public BService b1; + + @Reference(required=false) + public BService2 b2; + + public String getName() { + return "AService"; + } + + public String getB1String(String aString) { + return b1.getString(aString); + } + + public String getB1String2(String aString, String bString) { + return b1.getString2(aString, bString); + } + + public int getB1Int(int i) { + return b1.getInt(i); + } + + public String getB2String(String aString) { + return b2.getString(aString); + } + + public int getB2Int(int i) { + return b2.getInt(i); + } + +} \ No newline at end of file diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/BService2Impl.java b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/BService2Impl.java new file mode 100644 index 0000000000..43051d6f10 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/BService2Impl.java @@ -0,0 +1,40 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.BService2; +import org.oasisopen.sca.annotation.Service; + +@Service(BService2.class) +public class BService2Impl implements BService2 { + + public String getName() { + return "BService"; + } + + public String getString(String aString) { + return aString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/BServiceImpl.java b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/BServiceImpl.java new file mode 100644 index 0000000000..5496362e34 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/BServiceImpl.java @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.BService; +import org.oasisopen.sca.annotation.Service; + +@Service(BService.class) +public class BServiceImpl implements BService { + + public String getName() { + return "BService"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/CServiceImpl.java b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/CServiceImpl.java new file mode 100644 index 0000000000..63753d4ba7 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/CServiceImpl.java @@ -0,0 +1,48 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.CService; +import org.oasisopen.sca.annotation.Service; + +@Service(CService.class) +public class CServiceImpl implements CService { + + public String getName() { + return "CService"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public Integer getInteger(Integer i) { + return i; + } + + public float getFloat(float f) { + return f; + } + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/DServiceImpl.java b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/DServiceImpl.java new file mode 100644 index 0000000000..0a268ff447 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/DServiceImpl.java @@ -0,0 +1,70 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.BService; +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.CService; +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.DService; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements DService. + */ +@Service(DService.class) +public class DServiceImpl implements DService { + + @Reference + public BService b1; + + @Reference + public CService c1; + + public String getName() { + return "DService"; + } + + public String getB1String(String aString) { + return b1.getString(aString); + } + + public String getB1String2(String aString, String bString) { + return b1.getString2(aString, bString); + } + + public int getB1Int(int i) { + return b1.getInt(i); + } + + public String getC1String(String aString) { + return c1.getString(aString); + } + + public String getC1String2(String aString, String bString) { + return c1.getString2(aString, bString); + } + + public Integer getC1Integer(Integer i) { + return c1.getInteger(i); + } + + public float getC1Float(float f) { + return c1.getFloat(f); + } +} \ No newline at end of file diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/resources/bservice.wsdl b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/resources/bservice.wsdl new file mode 100644 index 0000000000..8ce0fbaeb8 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/resources/bservice.wsdl @@ -0,0 +1,228 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/resources/cservice.wsdl b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/resources/cservice.wsdl new file mode 100644 index 0000000000..ff151faa7a --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/resources/cservice.wsdl @@ -0,0 +1,173 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/resources/wsdlelement.binding.composite b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/resources/wsdlelement.binding.composite new file mode 100644 index 0000000000..6b97b5e602 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/main/resources/wsdlelement.binding.composite @@ -0,0 +1,114 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/WsdlElementBindingTestCase.java b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/WsdlElementBindingTestCase.java new file mode 100644 index 0000000000..f30cf38654 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/binding/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/WsdlElementBindingTestCase.java @@ -0,0 +1,190 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding; + +import static org.junit.Assert.fail; +import junit.framework.Assert; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.AService; +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.DService; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Tests the simplest form of the binding element wsdl.binding with WSDL + * document described in section section 2.1 of SCA Web Services Binding + * V1.00
    + */ +public class WsdlElementBindingTestCase { + + protected static ServiceFinder serviceFinder; + protected static String compositeName = "wsdlelement.binding.composite"; + protected static AService a1; + protected static AService a2; + protected static AService a3; + protected static AService a4; + protected static DService d; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + a1 = ServiceFinder.getService(AService.class, "AComponent1"); + a2 = ServiceFinder.getService(AService.class, "AComponent2"); + a3 = ServiceFinder.getService(AService.class, "AComponent3"); + a4 = ServiceFinder.getService(AService.class, "AComponent4"); + d = ServiceFinder.getService(DService.class, "DComponent1"); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + /** + * Lines 50-54:
    + * Binding:
    + * #wsdl.binding()
    + * In this case, the identified WSDL binding must have an equivalent + * PortType with the SCA service or reference. In this case the endpoint + * address URI for the SCA service or reference must be provided via the + * URI attribute on the binding.
    + *
    + * Tests wsdl.binding(BService1SOAPBinding)
    + */ + @Test + public void testWsdlElementBinding1() throws Exception { + String aName = a1.getName(); + String b1Str1 = a1.getB1String("string1"); + String b1Str2 = a1.getB1String2("string2", "string3"); + int b1Int = a1.getB1Int(1000); + + System.out.println(aName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(1000, b1Int); + } + + /** + * Lines 50-54:
    + * Binding:
    + *
    + * Tests wsdl.binding(BService2SOAPBinding) with BService where the binding + * does not define getString2, so exceptions are expected.
    + */ + @Test + public void testWsdlElementBinding2() throws Exception { + String aName = a2.getName(); + System.out.println(aName + ": "); + try { + a2.getB1String("string1"); + fail("Should not be able to call getString"); + } catch (Exception e) { + System.out.println(" Exception is expected: " + e.toString()); + } + try { + a2.getB1String2("string2", "string3"); + fail("Should not be able to call getString2"); + } catch (Exception e) { + System.out.println(" Exception is expected: " + e.toString()); + } + try { + a2.getB1Int(2000); + fail("Should not be able to call getInt"); + } catch (Exception e) { + System.out.println(" Exception is expected: " + e.toString()); + } + } + + /** + * Lines 50-54:
    + * Binding:
    + *
    + * Tests wsdl.binding(BService2SOAPBinding) with BService2
    + */ + @Test + public void testWsdlElementBinding3() throws Exception { + String aName = a3.getName(); + String b2Str1 = a3.getB2String("string1"); + int b2Int = a3.getB2Int(3000); + + System.out.println(aName + ": " + b2Str1 + ", " + b2Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b2Str1); + Assert.assertEquals(3000, b2Int); + } + + /** + * Lines 50-54:
    + * Binding:
    + *
    + * Tests two references using wsdl.binding.
    + */ + @Test + public void testWsdlElementBinding4() throws Exception { + String dName = d.getName(); + String b1Str1 = d.getB1String("string1"); + String b1Str2 = d.getB1String2("string2", "string3"); + String c1Str1 = d.getC1String("string5"); + String c1Str2 = d.getC1String2("string6", "string7"); + + int b1Int = d.getB1Int(4000); + float c1Float = d.getC1Float((float) 8.8); + + Integer c1Integer = d.getC1Integer(new Integer(9000)); + + System.out.println(dName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int + ", " + c1Str1 + ", " + c1Str2 + ", " + c1Float + ", " + c1Integer); + Assert.assertEquals("DService", dName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(4000, b1Int); + Assert.assertEquals("string5", c1Str1); + Assert.assertEquals("string6string7", c1Str2); + Assert.assertEquals((float) 8.8, c1Float); + Assert.assertEquals(new Integer(9000), c1Integer); + } + + /** + * Lines 50-54:
    + * Binding:
    + *
    + * Tests wsdl.binding(BService3SOAP12Binding) which uses SOAP 1.2
    + */ + @Test + public void testWsdlElementBinding5() throws Exception { + String aName = a4.getName(); + String b1Str1 = a4.getB1String("string1"); + String b1Str2 = a4.getB1String2("string2", "string3"); + int b1Int = a4.getB1Int(5000); + + System.out.println(aName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(5000, b1Int); + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/pom.xml b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/pom.xml new file mode 100644 index 0000000000..c22b4dbe8a --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/pom.xml @@ -0,0 +1,68 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + vtest-wsbinding + 2.0-M2-SNAPSHOT + ../pom.xml + + vtest-wsbinding-wsdlelement + pom + Apache Tuscany SCA Web Service Binding Verification Tests - wsdlElement + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-M2-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + 2.0-M2-SNAPSHOT + + + + org.apache.tuscany.sca + vtest-utilities + 2.0-M2-SNAPSHOT + runtime + + + + + + + + default + + true + + + service + port + binding + + + + diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/pom.xml b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/pom.xml new file mode 100644 index 0000000000..599c4846d3 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/pom.xml @@ -0,0 +1,58 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + vtest-wsbinding-wsdlelement + 2.0-M2-SNAPSHOT + ../pom.xml + + vtest-wsbinding-wsdlelement-port + Apache Tuscany SCA Web Service Binding Verification Tests - WSDL wsdlElement wsdl.port + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-M2-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + 2.0-M2-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-host-tomcat + 2.0-M2-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-M2-SNAPSHOT + runtime + + + diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/AService.java b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/AService.java new file mode 100644 index 0000000000..6fa9906d45 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/AService.java @@ -0,0 +1,40 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * The interface for AService. + */ +@Remotable +public interface AService { + + public String getName(); + + public String getB1String(String aString); + + public String getB1String2(String aString, String bString); + + public int getB1Int(int i); + + public String getB2String(String aString); + + public int getB2Int(int i); +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/BService.java b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/BService.java new file mode 100644 index 0000000000..978d515f92 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/BService.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BService { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public int getInt(int i); + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/BService2.java b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/BService2.java new file mode 100644 index 0000000000..766139ee92 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/BService2.java @@ -0,0 +1,33 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BService2 { + + public String getString(String aString); + + public int getInt(int i); + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/CService.java b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/CService.java new file mode 100644 index 0000000000..ee9ca25a4b --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/CService.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface CService { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public Integer getInteger(Integer i); + + public float getFloat(float f); + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/DService.java b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/DService.java new file mode 100644 index 0000000000..80d998d1a6 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/DService.java @@ -0,0 +1,45 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * The interface for DService. + */ +@Remotable +public interface DService { + + public String getName(); + + public String getB1String(String aString); + + public String getB1String2(String aString, String bString); + + public int getB1Int(int i); + + public String getC1String(String aString); + + public String getC1String2(String aString, String bString); + + public Integer getC1Integer(Integer i); + + public float getC1Float(float f); + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/AServiceImpl.java b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/AServiceImpl.java new file mode 100644 index 0000000000..bec82776bf --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/AServiceImpl.java @@ -0,0 +1,62 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.AService; +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.BService; +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.BService2; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements AService. + */ +@Service(AService.class) +public class AServiceImpl implements AService { + + @Reference(required=false) + public BService b1; + + @Reference(required=false) + public BService2 b2; + + public String getName() { + return "AService"; + } + + public String getB1String(String aString) { + return b1.getString(aString); + } + + public String getB1String2(String aString, String bString) { + return b1.getString2(aString, bString); + } + + public int getB1Int(int i) { + return b1.getInt(i); + } + + public String getB2String(String aString) { + return b2.getString(aString); + } + + public int getB2Int(int i) { + return b2.getInt(i); + } +} \ No newline at end of file diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/BService2Impl.java b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/BService2Impl.java new file mode 100644 index 0000000000..b379a2e3ef --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/BService2Impl.java @@ -0,0 +1,40 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.BService2; +import org.oasisopen.sca.annotation.Service; + +@Service(BService2.class) +public class BService2Impl implements BService2 { + + public String getName() { + return "BService2"; + } + + public String getString(String aString) { + return aString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/BServiceImpl.java b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/BServiceImpl.java new file mode 100644 index 0000000000..069308a520 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/BServiceImpl.java @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.BService; +import org.oasisopen.sca.annotation.Service; + +@Service(BService.class) +public class BServiceImpl implements BService { + + public String getName() { + return "BService"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/CServiceImpl.java b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/CServiceImpl.java new file mode 100644 index 0000000000..7ad9e3066c --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/CServiceImpl.java @@ -0,0 +1,48 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.CService; +import org.oasisopen.sca.annotation.Service; + +@Service(CService.class) +public class CServiceImpl implements CService { + + public String getName() { + return "CService"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public Integer getInteger(Integer i) { + return i; + } + + public float getFloat(float f) { + return f; + } + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/DServiceImpl.java b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/DServiceImpl.java new file mode 100644 index 0000000000..58ae1e9577 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/DServiceImpl.java @@ -0,0 +1,70 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.BService; +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.CService; +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.DService; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements DService. + */ +@Service(DService.class) +public class DServiceImpl implements DService { + + @Reference + public BService b1; + + @Reference + public CService c1; + + public String getName() { + return "DService"; + } + + public String getB1String(String aString) { + return b1.getString(aString); + } + + public String getB1String2(String aString, String bString) { + return b1.getString2(aString, bString); + } + + public int getB1Int(int i) { + return b1.getInt(i); + } + + public String getC1String(String aString) { + return c1.getString(aString); + } + + public String getC1String2(String aString, String bString) { + return c1.getString2(aString, bString); + } + + public Integer getC1Integer(Integer i) { + return c1.getInteger(i); + } + + public float getC1Float(float f) { + return c1.getFloat(f); + } +} \ No newline at end of file diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/resources/bservice.wsdl b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/resources/bservice.wsdl new file mode 100644 index 0000000000..d5c8d72dc1 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/resources/bservice.wsdl @@ -0,0 +1,238 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/resources/cservice.wsdl b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/resources/cservice.wsdl new file mode 100644 index 0000000000..8a715a2081 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/resources/cservice.wsdl @@ -0,0 +1,173 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/resources/wsdlelement.port.composite b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/resources/wsdlelement.port.composite new file mode 100644 index 0000000000..5b9b77683e --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/main/resources/wsdlelement.port.composite @@ -0,0 +1,115 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/WsdlElementPortTestCase.java b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/WsdlElementPortTestCase.java new file mode 100644 index 0000000000..0db579002b --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/port/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/WsdlElementPortTestCase.java @@ -0,0 +1,188 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port; + +import static org.junit.Assert.fail; +import junit.framework.Assert; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.AService; +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.DService; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Tests the simplest form of the binding element wsdl.port with WSDL + * document described in section section 2.1 of SCA Web Services Binding + * V1.00
    + */ +public class WsdlElementPortTestCase { + + protected static ServiceFinder serviceFinder; + protected static String compositeName = "wsdlelement.port.composite"; + protected static AService a1; + protected static AService a2; + protected static AService a3; + protected static AService a4; + protected static DService d; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + a1 = ServiceFinder.getService(AService.class, "AComponent1"); + a2 = ServiceFinder.getService(AService.class, "AComponent2"); + a3 = ServiceFinder.getService(AService.class, "AComponent3"); + a4 = ServiceFinder.getService(AService.class, "AComponent4"); + d = ServiceFinder.getService(DService.class, "DComponent1"); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + /** + * Lines 42-45:
    + * Port (WSDL 1.1):
    + * #wsdl.port(/) + * In this case, the identified port in the WSDL 1.1 Service must have an + * equivalent PortType with the SCA service or reference.
    + *
    + * Test wsdl.port(BService/BService1SOAP)
    + */ + @Test + public void testWsdlElementPort1() throws Exception { + String aName = a1.getName(); + String b1Str1 = a1.getB1String("string1"); + String b1Str2 = a1.getB1String2("string2", "string3"); + int b1Int = a1.getB1Int(1000); + + System.out.println(aName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(1000, b1Int); + } + + /** + * Lines 42-45:
    + * Port (WSDL 1.1):
    + *
    + * Tests wsdl.port(BService/BService2SOAP) with BService where the port + * does not define getString2, so exceptions are expected.
    + */ + @Test + public void testWsdlElementPort2() throws Exception { + String aName = a2.getName(); + System.out.println(aName + ": "); + try { + a2.getB1String("string1"); + fail("Should not be able to call getString"); + } catch (Exception e) { + System.out.println(" Exception is expected: " + e.toString()); + } + try { + a2.getB1String2("string2", "string3"); + fail("Should not be able to call getString2"); + } catch (Exception e) { + System.out.println(" Exception is expected: " + e.toString()); + } + try { + a2.getB1Int(2000); + fail("Should not be able to call getInt"); + } catch (Exception e) { + System.out.println(" Exception is expected: " + e.toString()); + } + } + + /** + * Lines 42-45:
    + * Port (WSDL 1.1):
    + *
    + * Tests wsdl.port(BService/BService2SOAP) with BService2
    + */ + @Test + public void testWsdlElementPort3() throws Exception { + String aName = a3.getName(); + String b2Str1 = a3.getB2String("string1"); + int b2Int = a3.getB2Int(1000); + + System.out.println(aName + ": " + b2Str1 + ", " + b2Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b2Str1); + Assert.assertEquals(1000, b2Int); + } + + /** + * Lines 42-45:
    + * Port (WSDL 1.1):
    + *
    += * Tests two references using wsdl.port.
    + */ + @Test + public void testWsdlElementPort4() throws Exception { + String dName = d.getName(); + String b1Str1 = d.getB1String("string1"); + String b1Str2 = d.getB1String2("string2", "string3"); + String c1Str1 = d.getC1String("string5"); + String c1Str2 = d.getC1String2("string6", "string7"); + + int b1Int = d.getB1Int(4000); + float c1Float = d.getC1Float((float) 8.8); + + Integer c1Integer = d.getC1Integer(new Integer(9000)); + + System.out.println(dName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int + ", " + c1Str1 + ", " + c1Str2 + ", " + c1Float + ", " + c1Integer); + Assert.assertEquals("DService", dName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(4000, b1Int); + Assert.assertEquals("string5", c1Str1); + Assert.assertEquals("string6string7", c1Str2); + Assert.assertEquals((float) 8.8, c1Float); + Assert.assertEquals(new Integer(9000), c1Integer); + } + + /** + * Lines 42-45:
    + * Port (WSDL 1.1):
    + *
    += * Tests wsdl.port(BService/BService3SOAP12) which uses SOAP 1.2
    + */ + @Test + public void testWsdlElementPort5() throws Exception { + String aName = a4.getName(); + String b1Str1 = a4.getB1String("string1"); + String b1Str2 = a4.getB1String2("string2", "string3"); + int b1Int = a4.getB1Int(5000); + + System.out.println(aName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(5000, b1Int); + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/pom.xml b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/pom.xml new file mode 100644 index 0000000000..6221b27a3a --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/pom.xml @@ -0,0 +1,58 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + vtest-wsbinding-wsdlelement + 2.0-M2-SNAPSHOT + ../pom.xml + + vtest-wsbinding-wsdlelement-service + Apache Tuscany SCA Web Service Binding Verification Tests - WSDL wsdlElement wsdl.service + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-M2-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + 2.0-M2-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-host-tomcat + 2.0-M2-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-M2-SNAPSHOT + runtime + + + diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/AService.java b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/AService.java new file mode 100644 index 0000000000..464a834570 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/AService.java @@ -0,0 +1,50 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * The interface for AService. + */ +@Remotable +public interface AService { + + public String getName(); + + public String getB1String(String aString); + + public String getB1String2(String aString, String bString); + + public int getB1Int(int i); + + public String getB2String(String aString); + + public int getB2Int(int i); + + public String getB3String(String aString); + + public int getB3Int(int i); + + public String getB4String(String aString); + + public String getB4String2(String aString, String bString); + + public int getB4Int(int i); +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/BService.java b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/BService.java new file mode 100644 index 0000000000..37ccee6cd4 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/BService.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BService { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public int getInt(int i); + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/BService2.java b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/BService2.java new file mode 100644 index 0000000000..c8355f8f1b --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/BService2.java @@ -0,0 +1,33 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BService2 { + + public String getString(String aString); + + public int getInt(int i); + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/CService.java b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/CService.java new file mode 100644 index 0000000000..d3f5ab1c47 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/CService.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface CService { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public Integer getInteger(Integer i); + + public float getFloat(float f); + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/DService.java b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/DService.java new file mode 100644 index 0000000000..1a64706a29 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/DService.java @@ -0,0 +1,45 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * The interface for DService. + */ +@Remotable +public interface DService { + + public String getName(); + + public String getB1String(String aString); + + public String getB1String2(String aString, String bString); + + public int getB1Int(int i); + + public String getC1String(String aString); + + public String getC1String2(String aString, String bString); + + public Integer getC1Integer(Integer i); + + public float getC1Float(float f); + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/AServiceImpl.java b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/AServiceImpl.java new file mode 100644 index 0000000000..986027c08a --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/AServiceImpl.java @@ -0,0 +1,88 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.AService; +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.BService; +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.BService2; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements AService. + */ +@Service(AService.class) +public class AServiceImpl implements AService { + + @Reference(required=false) + public BService b1; + + @Reference(required=false) + public BService2 b2; + + @Reference(required=false) + public BService2 b3; + + @Reference(required=false) + public BService b4; + + public String getName() { + return "AService"; + } + + public String getB1String(String aString) { + return b1.getString(aString); + } + + public String getB1String2(String aString, String bString) { + return b1.getString2(aString, bString); + } + + public int getB1Int(int i) { + return b1.getInt(i); + } + + public String getB2String(String aString) { + return b2.getString(aString); + } + + public int getB2Int(int i) { + return b2.getInt(i); + } + + public String getB3String(String aString) { + return b3.getString(aString); + } + + public int getB3Int(int i) { + return b3.getInt(i); + } + + public String getB4String(String aString) { + return b4.getString(aString); + } + + public String getB4String2(String aString, String bString) { + return b4.getString2(aString, bString); + } + + public int getB4Int(int i) { + return b4.getInt(i); + } +} \ No newline at end of file diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/BService2Impl.java b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/BService2Impl.java new file mode 100644 index 0000000000..a58297de69 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/BService2Impl.java @@ -0,0 +1,40 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.BService2; +import org.oasisopen.sca.annotation.Service; + +@Service(BService2.class) +public class BService2Impl implements BService2 { + + public String getName() { + return "BService"; + } + + public String getString(String aString) { + return aString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/BServiceImpl.java b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/BServiceImpl.java new file mode 100644 index 0000000000..3ecbc95901 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/BServiceImpl.java @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.BService; +import org.oasisopen.sca.annotation.Service; + +@Service(BService.class) +public class BServiceImpl implements BService { + + public String getName() { + return "BService"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/CServiceImpl.java b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/CServiceImpl.java new file mode 100644 index 0000000000..05af362a25 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/CServiceImpl.java @@ -0,0 +1,48 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.CService; +import org.oasisopen.sca.annotation.Service; + +@Service(CService.class) +public class CServiceImpl implements CService { + + public String getName() { + return "CService"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public Integer getInteger(Integer i) { + return i; + } + + public float getFloat(float f) { + return f; + } + +} diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/DServiceImpl.java b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/DServiceImpl.java new file mode 100644 index 0000000000..dadbb63873 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/DServiceImpl.java @@ -0,0 +1,70 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.BService; +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.CService; +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.DService; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements DService. + */ +@Service(DService.class) +public class DServiceImpl implements DService { + + @Reference + public BService b1; + + @Reference + public CService c1; + + public String getName() { + return "DService"; + } + + public String getB1String(String aString) { + return b1.getString(aString); + } + + public String getB1String2(String aString, String bString) { + return b1.getString2(aString, bString); + } + + public int getB1Int(int i) { + return b1.getInt(i); + } + + public String getC1String(String aString) { + return c1.getString(aString); + } + + public String getC1String2(String aString, String bString) { + return c1.getString2(aString, bString); + } + + public Integer getC1Integer(Integer i) { + return c1.getInteger(i); + } + + public float getC1Float(float f) { + return c1.getFloat(f); + } +} \ No newline at end of file diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/resources/bservice.wsdl b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/resources/bservice.wsdl new file mode 100644 index 0000000000..521f077c46 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/resources/bservice.wsdl @@ -0,0 +1,225 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/resources/cservice.wsdl b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/resources/cservice.wsdl new file mode 100644 index 0000000000..bdf294b473 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/resources/cservice.wsdl @@ -0,0 +1,173 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/resources/wsdlelement.service.composite b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/resources/wsdlelement.service.composite new file mode 100644 index 0000000000..9801ecd037 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/main/resources/wsdlelement.service.composite @@ -0,0 +1,145 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/WsdlElementServiceTestCase.java b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/WsdlElementServiceTestCase.java new file mode 100644 index 0000000000..22d2a80244 --- /dev/null +++ b/branches/sca-java-2.0-M2/vtest/wsbinding/wsdlelement/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/WsdlElementServiceTestCase.java @@ -0,0 +1,235 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service; + +import static org.junit.Assert.fail; +import junit.framework.Assert; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.AService; +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.DService; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Tests the simplest form of the binding element wsdl.service with WSDL + * document described in section section 2.1 of SCA Web Services Binding + * V1.00
    + */ +public class WsdlElementServiceTestCase { + + protected static ServiceFinder serviceFinder; + protected static String compositeName = "wsdlelement.service.composite"; + protected static AService a1; + protected static AService a2; + protected static AService a3; + protected static AService a4; + protected static AService a5; + protected static DService d; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + a1 = ServiceFinder.getService(AService.class, "AComponent1"); + a2 = ServiceFinder.getService(AService.class, "AComponent2"); + a3 = ServiceFinder.getService(AService.class, "AComponent3"); + a4 = ServiceFinder.getService(AService.class, "AComponent4"); + a5 = ServiceFinder.getService(AService.class, "AComponent5"); + d = ServiceFinder.getService(DService.class, "DComponent1"); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + /** + * Lines 38-41:
    + * Service:
    + * #wsdl.service()
    + * In this case, all the endpoints in the WSDL Service that have equivalent + * PortTypes with the SCA service or reference must be available to the SCA + * service or reference.
    + *
    + * Tests wsdl.service(BService)
    + */ + @Test + public void testWsdlElementService1() throws Exception { + String aName = a1.getName(); + String b1Str1 = a1.getB1String("string1"); + String b1Str2 = a1.getB1String2("string2", "string3"); + int b1Int = a1.getB1Int(1000); + + System.out.println(aName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(1000, b1Int); + } + + /** + * Lines 38-41:
    + * Service:
    + *
    + * Tests wsdl.service(BService2) with with BService where the service + * does not define getString2, so exceptions are expected.
    + */ + @Test + public void testWsdlElementService2() throws Exception { + String aName = a2.getName(); + System.out.println(aName + ": "); + try { + a2.getB1String("string1"); + fail("Should not be able to call getString"); + } catch (Exception e) { + System.out.println(" Exception is expected: " + e.toString()); + } + try { + a2.getB1String2("string2", "string3"); + fail("Should not be able to call getString2"); + } catch (Exception e) { + System.out.println(" Exception is expected: " + e.toString()); + } + try { + a2.getB1Int(2000); + fail("Should not be able to call getInt"); + } catch (Exception e) { + System.out.println(" Exception is expected: " + e.toString()); + } + } + + /** + * Lines 38-41:
    + * Service:
    + *
    + * Tests wsdl.service(BService2) with BService2
    + */ + @Test + public void testWsdlElementService3() throws Exception { + String aName = a3.getName(); + String b2Str1 = a3.getB2String("string1"); + int b2Int = a3.getB2Int(1000); + + System.out.println(aName + ": " + b2Str1 + ", " + b2Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b2Str1); + Assert.assertEquals(1000, b2Int); + } + + /** + * Lines 38-41:
    + * Service:
    + *
    + * Tests two references using wsdl.service.
    + */ + @Test + public void testWsdlElementService4() throws Exception { + String dName = d.getName(); + String b1Str1 = d.getB1String("string1"); + String b1Str2 = d.getB1String2("string2", "string3"); + String c1Str1 = d.getC1String("string5"); + String c1Str2 = d.getC1String2("string6", "string7"); + + int b1Int = d.getB1Int(4000); + float c1Float = d.getC1Float((float) 8.8); + + Integer c1Integer = d.getC1Integer(new Integer(9000)); + + System.out.println(dName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int + ", " + c1Str1 + ", " + c1Str2 + ", " + c1Float + ", " + c1Integer); + Assert.assertEquals("DService", dName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(4000, b1Int); + Assert.assertEquals("string5", c1Str1); + Assert.assertEquals("string6string7", c1Str2); + Assert.assertEquals((float) 8.8, c1Float); + Assert.assertEquals(new Integer(9000), c1Integer); + } + + /** + * Lines 38-41:
    + * Service:
    + *
    + * Tests mixed bindings of using wsdl.port, wsdl.service, wsdl.binding, + * and soap 1.2 + *
    + */ + @Test + public void testWsdlElementService5() throws Exception { + String aName = a4.getName(); + String b1Str1 = a4.getB1String("port"); + String b1Str2 = a4.getB1String2("string1", "string2"); + int b1Int = a4.getB1Int(1000); + System.out.println(aName); + System.out.println(" b1: " + b1Str1 + ", " + b1Str2 + ", " + b1Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("port", b1Str1); + Assert.assertEquals("string1string2", b1Str2); + Assert.assertEquals(1000, b1Int); + + String b2Str1 = a4.getB2String("service"); + int b2Int = a4.getB2Int(2000); + System.out.println(" b2: " + b2Str1 + ", " + b2Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("service", b2Str1); + Assert.assertEquals(2000, b2Int); + + String b3Str1 = a4.getB3String("binding"); + int b3Int = a4.getB3Int(3000); + System.out.println(" b3: " + b3Str1 + ", " + b3Int); + Assert.assertEquals("binding", b3Str1); + Assert.assertEquals(3000, b3Int); + + String b4Str1 = a4.getB4String("soap12"); + String b4Str2 = a4.getB4String2("string3", "string4"); + int b4Int = a4.getB4Int(4000); + System.out.println(" b4: " + b4Str1 + ", " + b4Str2 + ", " + b4Int); + Assert.assertEquals("soap12", b4Str1); + Assert.assertEquals("string3string4", b4Str2); + Assert.assertEquals(4000, b4Int); + + } + + /** + * Lines 38-41:
    + * Service:
    + *
    + * Tests wsdl.service(BService3) which uses SOAP 1.2
    + */ + @Test + public void testWsdlElementService6() throws Exception { + String aName = a5.getName(); + String b1Str1 = a5.getB1String("string1"); + String b1Str2 = a5.getB1String2("string2", "string3"); + int b1Int = a5.getB1Int(6000); + + System.out.println(aName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(6000, b1Int); + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} -- cgit v1.2.3