Problem using complex types from Doc/Lit web service
Hello I have a Document/Literal web service with some complex types, such as this: complexType name=ArrayOfint complexContent restriction base=SOAP-ENC:Array attribute ref=SOAP-ENC:arrayType wsdl:arrayType=xsd:int[]/ /restriction /complexContent /complexType Some methods return Arrayofint where expected, but the problem is that I cannot access the elements inside this ArrayofInt. ArrayofInt doesn't expose any 'Array' methods or logic. Definition of ArrayOfint: public interface ArrayOfint extends org.xmlsoap.schemas.soap.encoding.Array Is Axis2 failing at mapping the complex types? I can use all other methods at the web service that doesn't include these complex types. Bård.
Use of HTTP/1.0 or 1.1 in Axis 1.4
Hi All Can anybody tell me what determines which HTTP version is used when an Axis 1.4 client, running under Tomcat 5.5, sends an out-going request to a web-service? I have two servers that are both running the same code and the version of the Axis 1.4 libraries connecting to an external web-service. The problem arrises because the web-service doesn't seem to support HTTP/1.1 requests with chunked encoding and the HTTP headers on the out-going messages shows that one of the servers is sending over HTTP/1.0 and connecting successfully to the service while the other is sending over HTTP/1.1 with chunked encoding and the request fails. I've no idea what has caused the difference between the two servers but, if possible, forcing the second to us HTTP/1.0 would solve the problem. Does anyone know what determines the HTTP version that the outgoing messages are sent over and how to set it? -- Chris Mannion iCasework and LocalAlert implementation team 0208 144 4416
Unable to engage module : rampart
Hi, I have a web service client that ran perfectly under Axis2 (stub generated using ADB bindings) until the provider (not under my control) added WS-Security and now requires username/password auth. I have tried with little success to integrate Rampart into our set-up. What I did, piecing things together from various how-tos: 1. Added all the rampart jars to the classpath 2. Created a client Axis2 repository (I didn't have one of those before) containing conf/, services/ and modules/ 3. Put the two .mar files in /modules 4. Created an axis2.xml config file in conf/ (attached) 5. Added the following around my stub creation code: final ConfigurationContext ctx = ConfigurationContextFactory. createConfigurationContextFromURIs(null, clientRepo); final OpenPvsServiceStub openPvs = new OpenPvsServiceStub(ctx, serviceAddress); final ServiceClient sc = openPvs._getServiceClient(); sc.engageModule(rampart); final Options options = new Options(); options.setUserName(stephanos.piperog...@db.com); options.setPassword(x); sc.setOverrideOptions(options); This causes: org.apache.axis2.AxisFault: Unable to engage module : rampart Any ideas would be greatly appreciated. Regards, Stephanos Piperoglou Price Control GTO - BAC IT +44 20 754 59007 This mail is transmitted to you on behalf of the Great East London Software Company Diese Post wird Ihnen im Namen der Great East London Software Company übermittelt --- This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and delete this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden. Please refer to http://www.db.com/en/content/eu_disclosures.htm for additional EU corporate and regulatory disclosures. axis2.xml Description: Binary data
Re: Unable to engage module : rampart [RESOLVED]
Apologies, it seems the repository wasn't being picked up by the classloader. Regards, Stephanos Piperoglou Price Control GTO - BAC IT +44 20 754 59007 This mail is transmitted to you on behalf of the Great East London Software Company Diese Post wird Ihnen im Namen der Great East London Software Company übermittelt Stephanos Piperoglou stephanos.piperoglou+exter...@db.com 28/01/2010 13:51 Please respond to axis-user@ws.apache.org To axis-user@ws.apache.org cc Subject Unable to engage module : rampart Hi, I have a web service client that ran perfectly under Axis2 (stub generated using ADB bindings) until the provider (not under my control) added WS-Security and now requires username/password auth. I have tried with little success to integrate Rampart into our set-up. What I did, piecing things together from various how-tos: 1. Added all the rampart jars to the classpath 2. Created a client Axis2 repository (I didn't have one of those before) containing conf/, services/ and modules/ 3. Put the two .mar files in /modules 4. Created an axis2.xml config file in conf/ (attached) 5. Added the following around my stub creation code: final ConfigurationContext ctx = ConfigurationContextFactory. createConfigurationContextFromURIs(null, clientRepo); final OpenPvsServiceStub openPvs = new OpenPvsServiceStub(ctx, serviceAddress); final ServiceClient sc = openPvs._getServiceClient(); sc.engageModule(rampart); final Options options = new Options(); options.setUserName(stephanos.piperog...@db.com); options.setPassword(x); sc.setOverrideOptions(options); This causes: org.apache.axis2.AxisFault: Unable to engage module : rampart Any ideas would be greatly appreciated. Regards, Stephanos Piperoglou Price Control GTO - BAC IT +44 20 754 59007 This mail is transmitted to you on behalf of the Great East London Software Company Diese Post wird Ihnen im Namen der Great East London Software Company übermittelt --- This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and delete this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden. Please refer to http://www.db.com/en/content/eu_disclosures.htm for additional EU corporate and regulatory disclosures.[attachment axis2.xml deleted by Stephanos Piperoglou/ext/dbcom] --- This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and delete this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden. Please refer to http://www.db.com/en/content/eu_disclosures.htm for additional EU corporate and regulatory disclosures.
Re: Loading Axis2 repository from classpath instead of file system
Yes, this is possible, but you need to add services.list and modules.list files so that Axis2 is able to locate your services and modules. By searching for these two names on the internet and in the mailing list archives, you should be able to find some examples. If not, let us know and we will try to find a sample. Andreas On Thu, Jan 28, 2010 at 16:32, Stephanos Piperoglou stephanos.piperog...@db.com wrote: Hi everyone, Short version: Is there a way to load the Axis2 repository using the class loader? Long version: I have got my client running, but I can only manage to initialise the repository from the file system using ConfigurationContextFactory.createConfigurationContextFromFileSystem. However, I would like to package up the repository in my JAR file and load it using the class loader to increase portability. This doesn't seem to work: URL clientRepo = getClass().getResource(/axis2repo); ConfigurationContextFactory.createConfigurationContextFromURIs(null, clientRepo); ... even though clientRepo.toExternalForm() seems to resolve to the correct place and I can use .getResourceAsStream() to read the files in the repository. Regards, Stephanos Piperoglou Price Control GTO - BAC IT +44 20 754 59007 This mail is transmitted to you on behalf of the Great East London Software Company Diese Post wird Ihnen im Namen der Great East London Software Company übermittelt *Stephanos Piperoglou stephanos.piperoglou+exter...@db.comstephanos.piperoglou%2bexter...@db.com * 28/01/2010 14:20 Please respond to axis-user@ws.apache.org To axis-user@ws.apache.org cc Subject Re: Unable to engage module : rampart [RESOLVED] Apologies, it seems the repository wasn't being picked up by the classloader. Regards, Stephanos Piperoglou Price Control GTO - BAC IT +44 20 754 59007 This mail is transmitted to you on behalf of the Great East London Software Company Diese Post wird Ihnen im Namen der Great East London Software Company übermittelt *Stephanos Piperoglou stephanos.piperoglou+exter...@db.comstephanos.piperoglou%2bexter...@db.com * 28/01/2010 13:51 Please respond to axis-user@ws.apache.org To axis-user@ws.apache.org cc Subject Unable to engage module : rampart Hi, I have a web service client that ran perfectly under Axis2 (stub generated using ADB bindings) until the provider (not under my control) added WS-Security and now requires username/password auth. I have tried with little success to integrate Rampart into our set-up. What I did, piecing things together from various how-tos: 1. Added all the rampart jars to the classpath 2. Created a client Axis2 repository (I didn't have one of those before) containing conf/, services/ and modules/ 3. Put the two .mar files in /modules 4. Created an axis2.xml config file in conf/ (attached) 5. Added the following around my stub creation code: *final* ConfigurationContext ctx = ConfigurationContextFactory.* createConfigurationContextFromURIs*(*null*, clientRepo); *final* OpenPvsServiceStub openPvs = *new*OpenPvsServiceStub(ctx, serviceAddress); *final* ServiceClient sc = openPvs._getServiceClient(); sc.engageModule(rampart); *final* Options options = *new* Options(); options.setUserName(stephanos.piperog...@db.com); options.setPassword(x); sc.setOverrideOptions(options); This causes: org.apache.axis2.AxisFault: Unable to engage module : rampart Any ideas would be greatly appreciated. Regards, Stephanos Piperoglou Price Control GTO - BAC IT +44 20 754 59007 This mail is transmitted to you on behalf of the Great East London Software Company Diese Post wird Ihnen im Namen der Great East London Software Company übermittelt --- This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and delete this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden. Please refer to http://www.db.com/en/content/eu_disclosures.htm for additional EU corporate and regulatory disclosures.[attachment axis2.xml deleted by Stephanos Piperoglou/ext/dbcom] --- This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and delete this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden. Please refer to http://www.db.com/en/content/eu_disclosures.htm for additional EU corporate and regulatory disclosures. --- This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender
Re: Loading Axis2 repository from classpath instead of file system
Thanks Andreas, that worked like a charm. Makes sense... no way to get a file listing from a URI. Regards, Stephanos Piperoglou Price Control GTO - BAC IT +44 20 754 59007 This mail is transmitted to you on behalf of the Great East London Software Company Diese Post wird Ihnen im Namen der Great East London Software Company übermittelt Andreas Veithen andreas.veit...@gmail.com 28/01/2010 16:08 Please respond to axis-user@ws.apache.org To axis-user@ws.apache.org cc Subject Re: Loading Axis2 repository from classpath instead of file system Yes, this is possible, but you need to add services.list and modules.list files so that Axis2 is able to locate your services and modules. By searching for these two names on the internet and in the mailing list archives, you should be able to find some examples. If not, let us know and we will try to find a sample. Andreas On Thu, Jan 28, 2010 at 16:32, Stephanos Piperoglou stephanos.piperog...@db.com wrote: Hi everyone, Short version: Is there a way to load the Axis2 repository using the class loader? Long version: I have got my client running, but I can only manage to initialise the repository from the file system using ConfigurationContextFactory.createConfigurationContextFromFileSystem. However, I would like to package up the repository in my JAR file and load it using the class loader to increase portability. This doesn't seem to work: URL clientRepo = getClass().getResource(/axis2repo); ConfigurationContextFactory.createConfigurationContextFromURIs(null, clientRepo); ... even though clientRepo.toExternalForm() seems to resolve to the correct place and I can use .getResourceAsStream() to read the files in the repository. Regards, Stephanos Piperoglou Price Control GTO - BAC IT +44 20 754 59007 This mail is transmitted to you on behalf of the Great East London Software Company Diese Post wird Ihnen im Namen der Great East London Software Company übermittelt Stephanos Piperoglou stephanos.piperoglou+exter...@db.com 28/01/2010 14:20 Please respond to axis-user@ws.apache.org To axis-user@ws.apache.org cc Subject Re: Unable to engage module : rampart [RESOLVED] Apologies, it seems the repository wasn't being picked up by the classloader. Regards, Stephanos Piperoglou Price Control GTO - BAC IT +44 20 754 59007 This mail is transmitted to you on behalf of the Great East London Software Company Diese Post wird Ihnen im Namen der Great East London Software Company übermittelt Stephanos Piperoglou stephanos.piperoglou+exter...@db.com 28/01/2010 13:51 Please respond to axis-user@ws.apache.org To axis-user@ws.apache.org cc Subject Unable to engage module : rampart Hi, I have a web service client that ran perfectly under Axis2 (stub generated using ADB bindings) until the provider (not under my control) added WS-Security and now requires username/password auth. I have tried with little success to integrate Rampart into our set-up. What I did, piecing things together from various how-tos: 1. Added all the rampart jars to the classpath 2. Created a client Axis2 repository (I didn't have one of those before) containing conf/, services/ and modules/ 3. Put the two .mar files in /modules 4. Created an axis2.xml config file in conf/ (attached) 5. Added the following around my stub creation code: final ConfigurationContext ctx = ConfigurationContextFactory. createConfigurationContextFromURIs(null, clientRepo); final OpenPvsServiceStub openPvs = new OpenPvsServiceStub(ctx, serviceAddress); final ServiceClient sc = openPvs._getServiceClient(); sc.engageModule(rampart); final Options options = new Options(); options.setUserName(stephanos.piperog...@db.com); options.setPassword(x); sc.setOverrideOptions(options); This causes: org.apache.axis2.AxisFault: Unable to engage module : rampart Any ideas would be greatly appreciated. Regards, Stephanos Piperoglou Price Control GTO - BAC IT +44 20 754 59007 This mail is transmitted to you on behalf of the Great East London Software Company Diese Post wird Ihnen im Namen der Great East London Software Company übermittelt --- This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and delete this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden. Please refer to http://www.db.com/en/content/eu_disclosures.htm for additional EU corporate and regulatory disclosures.[attachment axis2.xml deleted by Stephanos Piperoglou/ext/dbcom] --- This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and delete
Re: Axis2 JAX-WS: The service class cannot be found for this AxisService
Andreas, Thanks for the tip. I would never have figured that out by myself. Unfortunately, simply moving the services/HelloService.aar file to servicejars/HelloServices.jar seems to have made things worse. Whereas before I saw the service listed as deployed on the listServices page (but got the exception when trying to run the client), now the service doesn't even deploy. Clicking through the faulty services link on the listServices page gives me this: Error: No annotated classes found in the jar: file:/c:/tomcat-6.0.20/webapps/axis2/WEB-INF/servicejars/HelloService.jar. Service deployment failed. Looking for annotations in just the .java files generated by wsimport -keep -verbose hello.wsdl (the .class files of which are in the jar file) I find the following (I used grep ^@ | sort) @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) @WebService(name = helloPort, targetNamespace = com/wb/hello) @WebServiceClient(name = HelloService, targetNamespace = com/wb/hello, wsdlL ocation = file:/C:/Documents%20and%20Settings/dan/My%20Documents/tmp/hello2/ser vice/hello.wsdl) @XmlAccessorType(XmlAccessType.FIELD) @XmlAccessorType(XmlAccessType.FIELD) @XmlRegistry @XmlSeeAlso({ @XmlType(name = helloRequestType, propOrder = { @XmlType(name = helloResponseType, propOrder = { @javax.xml.bind.annotation.XmlSchema(namespace = com/wb/hello) Clearly, there are lots of annotations, so the error message is incorrect. I'm not sure what to do at this point. Dan On Wed, Jan 27, 2010 at 12:46 PM, Andreas Veithen andreas.veit...@gmail.com wrote: Daniel, Please have a look at AXIS2-4611 [1]. If deploying as a servicejar is not an option for you, feel free to vote for the issue and leave a comment. Andreas [1] https://issues.apache.org/jira/browse/AXIS2-4611 On Wed, Jan 27, 2010 at 21:32, Daniel Walsh walsh94...@gmail.com wrote: I have written a simple hello application in Axis2 JAX-WS and when I run my client I am getting an error that the service class cannot be found. In this email I'm including the exact message, my services.xml file, a jar output of my aar file, my wsdl file, my schema file, a snippet from the available services webpage and a stacktrace from catalina.out. I wrote the services.xml, the schema and the wsdl files by hand and generated all the classes (except HelloClient, my client class) by wsimport -keep -verbose hello.wsdl. I have tried every Google search I can think of and have looked at several tutorials and dozens of mail archives without finding out the answer. If you can help, I would really appreciate it. -- The error message I get when I run the client (java -cp HelloService.jar com/wb/hello/HelloClient) is: Exception in thread main javax.xml.ws.soap.SOAPFaultException: java.lang.RuntimeException: The service class cannot be found for this AxisService. -- My services.xml file is simple: service name=HelloService parameter name=ServiceClasscom.wb.hello.HelloService/parameter operation name=hello messageReceiver mep=http://www.w3.org/2004/08/wsdl/in-out; class=org.apache.axis2.jaxws.server.JAXWSMessageReceiver/ /operation /service -- When I go to /cygdrive/c/tomcat-6.0.20/webapps/axis2/WEB-INF/services and jar the aar file, the service class is there: $ jar tvf HelloService.aar 0 Tue Jan 26 14:41:52 PST 2010 META-INF/ 71 Tue Jan 26 14:41:52 PST 2010 META-INF/MANIFEST.MF 1287 Tue Jan 26 14:41:52 PST 2010 com/wb/hello/HelloClient.class 886 Tue Jan 26 14:41:52 PST 2010 com/wb/hello/HelloPort.class 898 Tue Jan 26 14:41:52 PST 2010 com/wb/hello/HelloPortType.class 752 Tue Jan 26 14:41:52 PST 2010 com/wb/hello/HelloRequestType.class 758 Tue Jan 26 14:41:52 PST 2010 com/wb/hello/HelloResponseType.class 2079 Tue Jan 26 14:41:52 PST 2010 com/wb/hello/HelloService.class 1708 Tue Jan 26 14:41:52 PST 2010 com/wb/hello/ObjectFactory.class 230 Tue Jan 26 14:41:52 PST 2010 com/wb/hello/package-info.class 1794 Tue Jan 26 14:41:50 PST 2010 META-INF/hello.wsdl 805 Tue Jan 26 14:41:50 PST 2010 META-INF/helloSchema.xsd 301 Tue Jan 26 14:41:36 PST 2010 META-INF/services.xml -- My wsdl file is: ?xml version=1.0 encoding=UTF-8 standalone=yes? definitions targetNamespace=com/wb/hello name=hello
RE: Use of HTTP/1.0 or 1.1 in Axis 1.4
Chris, Instead of that do you want to try turning off chunking? setProperty(HTTPConstants.CHUNKED, false); or See http://wso2.org/library/209 for info on forcing HTTP version to be used etc thanks, -- Yashwanth These are my openion only and not that of my employer(s). -Original Message- From: Chris Mannion [mailto:chris.mann...@nonstopgov.com] Sent: Thursday, January 28, 2010 1:34 AM To: axis-user Subject: Use of HTTP/1.0 or 1.1 in Axis 1.4 Hi All Can anybody tell me what determines which HTTP version is used when an Axis 1.4 client, running under Tomcat 5.5, sends an out-going request to a web-service? I have two servers that are both running the same code and the version of the Axis 1.4 libraries connecting to an external web-service. The problem arrises because the web-service doesn't seem to support HTTP/1.1 requests with chunked encoding and the HTTP headers on the out-going messages shows that one of the servers is sending over HTTP/1.0 and connecting successfully to the service while the other is sending over HTTP/1.1 with chunked encoding and the request fails. I've no idea what has caused the difference between the two servers but, if possible, forcing the second to us HTTP/1.0 would solve the problem. Does anyone know what determines the HTTP version that the outgoing messages are sent over and how to set it? -- Chris Mannion iCasework and LocalAlert implementation team 0208 144 4416
Re: Axis2 JAX-WS: The service class cannot be found for this AxisService
Dan, Actually the error message should read No @WebService annotated service implementations found or something like that :-) In fact, you also need to annotate your service implementation with @WebService. Note that while this is the same annotation type than on the service interface (generated by wsimport), the attributes have a different meaning. There is an example here [1]. Note that this requirement is not specific to Axis2, but comes from JSR-109/181. Andreas [1] https://svn.apache.org/repos/asf/webservices/axis2/scratch/java/veithen/AXIS2-4611/jaxws-calculator-aar/src/main/java/org/apache/axis2/jaxws/calculator/impl/CalculatorImpl.java On Thu, Jan 28, 2010 at 19:46, Daniel Walsh walsh94...@gmail.com wrote: Andreas, Thanks for the tip. I would never have figured that out by myself. Unfortunately, simply moving the services/HelloService.aar file to servicejars/HelloServices.jar seems to have made things worse. Whereas before I saw the service listed as deployed on the listServices page (but got the exception when trying to run the client), now the service doesn't even deploy. Clicking through the faulty services link on the listServices page gives me this: Error: No annotated classes found in the jar: file:/c:/tomcat-6.0.20/webapps/axis2/WEB-INF/servicejars/HelloService.jar. Service deployment failed. Looking for annotations in just the .java files generated by wsimport -keep -verbose hello.wsdl (the .class files of which are in the jar file) I find the following (I used grep ^@ | sort) @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) @WebService(name = helloPort, targetNamespace = com/wb/hello) @WebServiceClient(name = HelloService, targetNamespace = com/wb/hello, wsdlL ocation = file:/C:/Documents%20and%20Settings/dan/My%20Documents/tmp/hello2/ser vice/hello.wsdl) @XmlAccessorType(XmlAccessType.FIELD) @XmlAccessorType(XmlAccessType.FIELD) @XmlRegistry @XmlSeeAlso({ @XmlType(name = helloRequestType, propOrder = { @XmlType(name = helloResponseType, propOrder = { @javax.xml.bind.annotation.XmlSchema(namespace = com/wb/hello) Clearly, there are lots of annotations, so the error message is incorrect. I'm not sure what to do at this point. Dan On Wed, Jan 27, 2010 at 12:46 PM, Andreas Veithen andreas.veit...@gmail.com wrote: Daniel, Please have a look at AXIS2-4611 [1]. If deploying as a servicejar is not an option for you, feel free to vote for the issue and leave a comment. Andreas [1] https://issues.apache.org/jira/browse/AXIS2-4611 On Wed, Jan 27, 2010 at 21:32, Daniel Walsh walsh94...@gmail.com wrote: I have written a simple hello application in Axis2 JAX-WS and when I run my client I am getting an error that the service class cannot be found. In this email I'm including the exact message, my services.xml file, a jar output of my aar file, my wsdl file, my schema file, a snippet from the available services webpage and a stacktrace from catalina.out. I wrote the services.xml, the schema and the wsdl files by hand and generated all the classes (except HelloClient, my client class) by wsimport -keep -verbose hello.wsdl. I have tried every Google search I can think of and have looked at several tutorials and dozens of mail archives without finding out the answer. If you can help, I would really appreciate it. -- The error message I get when I run the client (java -cp HelloService.jar com/wb/hello/HelloClient) is: Exception in thread main javax.xml.ws.soap.SOAPFaultException: java.lang.RuntimeException: The service class cannot be found for this AxisService. -- My services.xml file is simple: service name=HelloService parameter name=ServiceClasscom.wb.hello.HelloService/parameter operation name=hello messageReceiver mep=http://www.w3.org/2004/08/wsdl/in-out; class=org.apache.axis2.jaxws.server.JAXWSMessageReceiver/ /operation /service -- When I go to /cygdrive/c/tomcat-6.0.20/webapps/axis2/WEB-INF/services and jar the aar file, the service class is there: $ jar tvf HelloService.aar 0 Tue Jan 26 14:41:52 PST 2010 META-INF/ 71 Tue Jan 26 14:41:52 PST 2010 META-INF/MANIFEST.MF 1287 Tue Jan 26 14:41:52 PST 2010 com/wb/hello/HelloClient.class 886 Tue Jan 26 14:41:52 PST 2010 com/wb/hello/HelloPort.class 898 Tue Jan 26 14:41:52 PST 2010 com/wb/hello/HelloPortType.class 752 Tue Jan 26 14:41:52 PST 2010 com/wb/hello/HelloRequestType.class 758 Tue Jan 26
Re: Unable to engage module : rampart [RESOLVED]
You should be able to do this much more simply by just adding the rampart.mar directly to your classpath. That way you can skip all the repository setup (including the ConfigurationContextFactory call) and just need to call engageModule(rampart); in your code. - Dennis -- Dennis M. Sosnoski Java XML and Web Services Axis2 Training and Consulting http://www.sosnoski.com - http://www.sosnoski.co.nz Seattle, WA +1-425-939-0576 - Wellington, NZ +64-4-298-6117 Stephanos Piperoglou wrote: Apologies, it seems the repository wasn't being picked up by the classloader. Regards, Stephanos Piperoglou Price Control GTO - BAC IT +44 20 754 59007 This mail is transmitted to you on behalf of the Great East London Software Company Diese Post wird Ihnen im Namen der Great East London Software Company übermittelt *Stephanos Piperoglou stephanos.piperoglou+exter...@db.com* 28/01/2010 13:51 Please respond to axis-user@ws.apache.org To axis-user@ws.apache.org cc Subject Unable to engage module : rampart Hi, I have a web service client that ran perfectly under Axis2 (stub generated using ADB bindings) until the provider (not under my control) added WS-Security and now requires username/password auth. I have tried with little success to integrate Rampart into our set-up. What I did, piecing things together from various how-tos: 1. Added all the rampart jars to the classpath 2. Created a client Axis2 repository (I didn't have one of those before) containing conf/, services/ and modules/ 3. Put the two .mar files in /modules 4. Created an axis2.xml config file in conf/ (attached) 5. Added the following around my stub creation code: *final* ConfigurationContext ctx = ConfigurationContextFactory./createConfigurationContextFromURIs/(*null*, clientRepo); *final* OpenPvsServiceStub openPvs = *new* OpenPvsServiceStub(ctx, serviceAddress); *final* ServiceClient sc = openPvs._getServiceClient(); sc.engageModule(rampart); *final* Options options = *new* Options(); options.setUserName(stephanos.piperog...@db.com); options.setPassword(x); sc.setOverrideOptions(options); This causes: org.apache.axis2.AxisFault: Unable to engage module : rampart Any ideas would be greatly appreciated. Regards, Stephanos Piperoglou Price Control GTO - BAC IT +44 20 754 59007 This mail is transmitted to you on behalf of the Great East London Software Company Diese Post wird Ihnen im Namen der Great East London Software Company übermittelt --- This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and delete this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden. Please refer to http://www.db.com/en/content/eu_disclosures.htm for additional EU corporate and regulatory disclosures.[attachment axis2.xml deleted by Stephanos Piperoglou/ext/dbcom] --- This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and delete this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden. Please refer to http://www.db.com/en/content/eu_disclosures.htm for additional EU corporate and regulatory disclosures.
Re: Problem using complex types from Doc/Lit web service
Just an update. The web service is actually using RPC/Encoded SOAP, so I was wrong about that. However, I managed to get this working very well with Axis1.4. All it took was to disable multi-reference values with sendMultiRefs=false, and it works without a hitch. Bård. 2010/1/28 Bård Kalbakk kalb...@gmail.com: Hello I have a Document/Literal web service with some complex types, such as this: complexType name=ArrayOfint complexContent restriction base=SOAP-ENC:Array attribute ref=SOAP-ENC:arrayType wsdl:arrayType=xsd:int[]/ /restriction /complexContent /complexType Some methods return Arrayofint where expected, but the problem is that I cannot access the elements inside this ArrayofInt. ArrayofInt doesn't expose any 'Array' methods or logic. Definition of ArrayOfint: public interface ArrayOfint extends org.xmlsoap.schemas.soap.encoding.Array Is Axis2 failing at mapping the complex types? I can use all other methods at the web service that doesn't include these complex types. Bård.
Re: Axis Clustering in OC4J Cluster
Hi Afkham: Appreciate for the additional info. I was pulled in other tasks and now have been assigned to this one again. I would like to ask a question related to a part of your input -- related to URL Repository: Am I correct in assuming the by Axis2 URL Repository, you are referring to Axis2 central (remote) repository? If I deploy the Axis2 web application with embedded repository (not shared central remote repository) what would be the limitations? Also if I do use a remote central repository, would I be able to deploy new services in the central repository without having to redeploy entire Axis2 web application? If I do use a remote central repository, would I be able to redeploy existing services (Potentially with modified implementation) in the central repository without having to redeploy entire Axis2 web application? What specific advantages I may derive by using a central remote repository (over deploying or redeploying the entire Axis2 Web Application in application container (OC4J in our instance)? Thank You Again Shailesh From: AfkhamAzeez afk...@gmail.com To: axis-user@ws.apache.org Sent: Wed, January 13, 2010 11:56:04 PM Subject: Re: Axis Clustering in OC4J Cluster If you are deploying totally stateless Axis2 Web services, meaning, you do not rely on stuff that you store in the Axis2 context hierarchy, and you do not require Axis2 cluster management, then you do not have to enable Axis2 clustering. When nodes go down, if you require the requests to be redirected to other nodes, you must front your cluster with an appropriately configured load balancer which supports failover. Simply deploying Axis2 in a cluster does not mean this will happen. Axis2 supports URL repositories. Hence all your nodes in the cluster can point to that URL repository. Again, this does not require you to enable Axis2 clustering. State replication is one part of clustering. What we mean by 'state' is stuff saved in the Axis2 COnfigurationCOntext, ServiceGroupContext ServiceContext. This can be useful for stateful Web services and even other Axis2 configuration items such as modules, deployers and so on. For example, the WSO2 Caching module supports caching of requests to improve performance. It maintains the cache as a map in the ConfigContext. As you can see, this map has to be replicated across all Axis2 nodes in the cluster. In such a scenario, clustering state replication comes in handy. HTH Azeez On Fri, Jan 8, 2010 at 10:53 PM, Shailesh Potnis potnis2...@yahoo.com wrote: Hi Azeez: Thank you for valuable input and links. I think I went through the first link during my research and the axis2.xml clustering guide includes info from the second link. I am still not clear about the end user use cases for stateless services. What I am trying to determine is: Under what specific scenarios Axis2 cluster deployed within OC4J cluster would provide additional value, In other words what would be use cases for using Axis2 cluster within OC4J cluster that is fronted by OHS (Apache Web server) and a hardware load balancer? I am trying to find this only for stateless services. During my discussion with some of my coworkers some possible use cases were discussed though I do not know if they would be provided by Axis2 Cluster. I would like to list them below: 1) In case a service is down in one Axis2 container, would Axis2 container redirect the request to another container -- I think the you provided (clustering at the servlet container level (HTTP session request replication) is out of the scope of Axis2) indicates that this is not possible or out of scope. Correct me if this assumption is incorrect. 2) The second scenario is to be able to redeploy a single service (deployed with other services in a single J2EE war) using a central remote repository -- this may not be related to cluster itself but would Axis clustering assist accomplishing this when OC4J standard deployment requires entire Axis2 war (potentially containing multiple services) to be redeployed. Would like to know whether this can be done using a central repository and Axis2 Admin console (with or without Axis2 cluster). 3) What are specific advantages of replicating ConfigurationContext, ServiceGroupContext ServiceContext (For someone who has limited understanding of those objects) in Axis2 cluster for stateless services? Thank You and Best Regards Sincerely Shailesh From: AfkhamAzeez afk...@gmail.com To: axis-user@ws.apache.org Sent: Fri, January 8, 2010 12:30:00 AM Subject: Re: Axis Clustering in OC4J Cluster We have not tested Axis2 clustering on OC4J AFAIK. With respect to state replication, at the Axis2 level, we are only concerned about replicating the values stored in the Axis2 ConfigurationContext, ServiceGroupContext ServiceContext. We use default Java serialization, hence the entire object tree
Re: Axis2 DII client exception : Unexpected subelement arg0
On Wed, Jan 27, 2010 at 5:52 PM, Tarus pra...@gmail.com wrote: Hello All, I am facing a problem when is using DII client to invoke a webservice. Any help on this is appreciated. Thanks in advance. this seems to be a problem with the request message to send to the server. Try to access the server by generating the code for client side instead of using RPCServiceClient. thanks, Amila. env: - Axis 2.1.3, Tomcat 5.0, JDK 5.0 Trace is below: log4j:WARN No appenders could be found for logger (org.apache.axis2.description.AxisService). log4j:WARN Please initialize the log4j system properly. org.apache.axis2.AxisFault: org.apache.axis2.databinding.ADBException: Unexpected subelement arg0 at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:486) at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:343) at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:389) at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:211) at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163) at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:528) at org.apache.axis2.rpc.client.RPCServiceClient.invokeBlocking(RPCServiceClient.java:99) at test.DynamicProxy.lsmsdynamicBlockInvocation(DynamicProxy.java:82) at test.DynamicProxy.main(DynamicProxy.java:207) DII sample code: -- RPCServiceClient svrClient = new RPCServiceClient(null, new URL( http://localhost:2323/TestServer/services/TestGateway?wsdl;), new QName(http://sys.com/MyGW ,TestGateway), TestGatewaySoap); Object params[] = new Object[]{test}; // Object[] returnArray= svrClient.invokeBlocking(new QName(http://sys.com/MyGW;, // testMsgRecieve), params,new Class[]{String.class}); Object[] returnArray= svrClient.invokeBlocking(new QName(http://sys.com/MyGW;, testMsgRecieve), params,new Class[]{String.class}); WSDL: -- ?xml version=1.0 encoding=utf-8? wsdl:definitions xmlns:s0=http://wsproviders.mnp.Test.com; xmlns:soap=http://schemas.xmlsoap.org/wsdl/soap/; xmlns:tm=http://microsoft.com/wsdl/mime/textMatching/; xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/; xmlns:mime=http://schemas.xmlsoap.org/wsdl/mime/; xmlns:tns=http://sys.com/MyGW; xmlns:s=http://www.w3.org/2001/XMLSchema; xmlns:soap12=http://schemas.xmlsoap.org/wsdl/soap12/; xmlns:http=http://schemas.xmlsoap.org/wsdl/http/; targetNamespace=http://sys.com/MyGW; xmlns:wsdl=http://schemas.xmlsoap.org/wsdl/; wsdl:types s:schema elementFormDefault=qualified targetNamespace=http://wsproviders.mnp.Test.com; s:element name=testMsgReciever s:complexType s:sequence s:element minOccurs=1 maxOccurs=1 name=testRequest nillable=true type=s:string / /s:sequence /s:complexType /s:element s:element name=testMsgRecieverResponse s:complexType s:sequence s:element minOccurs=1 maxOccurs=1 name=return nillable=true type=s:string / /s:sequence /s:complexType /s:element /s:schema s:schema elementFormDefault=qualified targetNamespace=http://sys.com/MyGW; s:element name=string nillable=true type=s:string / /s:schema /wsdl:types wsdl:message name=testMsgRecieverSoapIn wsdl:part name=parameters element=s0:testMsgReciever / /wsdl:message wsdl:message name=testMsgRecieverSoapOut wsdl:part name=parameters element=s0:testMsgRecieverResponse / /wsdl:message wsdl:message name=testMsgRecieverHttpGetIn wsdl:part name=testRequest type=s:string / /wsdl:message wsdl:message name=testMsgRecieverHttpGetOut wsdl:part name=Body element=tns:string / /wsdl:message wsdl:message name=testMsgRecieverHttpPostIn wsdl:part name=testRequest type=s:string / /wsdl:message wsdl:message name=testMsgRecieverHttpPostOut wsdl:part name=Body element=tns:string / /wsdl:message wsdl:portType name=TestGatewaySoap wsdl:operation name=testMsgReciever wsdl:input message=tns:testMsgRecieverSoapIn / wsdl:output message=tns:testMsgRecieverSoapOut / /wsdl:operation /wsdl:portType wsdl:portType name=TestGatewayHttpGet wsdl:operation name=testMsgReciever wsdl:input message=tns:testMsgRecieverHttpGetIn / wsdl:output message=tns:testMsgRecieverHttpGetOut / /wsdl:operation /wsdl:portType wsdl:portType name=TestGatewayHttpPost wsdl:operation name=testMsgReciever wsdl:input message=tns:testMsgRecieverHttpPostIn / wsdl:output
Re: [Axis2] How to deploy Axis2 in https
On Sat, Dec 16, 2006 at 5:27 PM, Subash Devkota sdevk...@d2hawkeye.comwrote: Ruchith, My https configuration does not require client to authenticate itself. I have already included security in Axis2 with rampart. It works fine when axis server is hosted in http. But, when i hosted the same axis in https domain, the client can not connect to axis server. It throws nullPointerException. I used the same key that is used for https as client key in axis client (for testing purpose) and it worked properly without errors. But when I use self signed certificate in axis client, it does not work. The only configuration I changed for https was in axis2.xml file of web service client. transportSender name= class=org.apache.axis2.transport.http.CommonsHTTPTransportSender why this name is empty. isn't it https? try with Axis2 1.5.1 which is the latest one. thanks, Amila. parameter name=PROTOCOL locked=falseHTTP/1.1/parameter parameter name=Transfer-Encodingchunked/parameter /transportSender Should I do any more configuration changes? The next question is, if i intend to use axis in https, should i need to configure rampart? Thanks Subash Ruchith Fernando wrote: How have you configured HTTPS at the service? (the servlet container axis2 is deployed). Does it require the client to authenticate itself with its certificate? if so you MUST add the client cert into the container's trust store and then configure the client's following JSSE properties properly. javax.net.ssl.keyStore javax.net.ssl.keyStoreType javax.net.ssl.keyStoreType However even if the HTTPS config of the container does not require client auth you MUST have the CA cert of the CA that signed the container's cert in your jre/lib/security/cacerts store or if it uses a self signed cert then you can override trust store config with the JSSE properties. Please see here for more information [1] Thanks, Ruchith [1] http://java.sun.com/products/jsse/install.html On 12/16/06, Subash Devkota sdevk...@d2hawkeye.com wrote: Hi all, I have problem deploying axis2 1.0 in https. I need to deploy my axis2 1.0 server over https application. I used following configuration in axis2.xml in client side. transportSender name= class=org.apache.axis2.transport.http.CommonsHTTPTransportSender parameter name=PROTOCOL locked=falseHTTP/1.1/parameter parameter name=Transfer-Encodingchunked/parameter /transportSender The web service works well when i use it in http. But when axis2 server is deployed in https, the client can not connect to server (axis2 1.0 where web services is deployed). I am using self signed certificate in client side. I added the certificate of the client in https server's trusted certificate key store. But could not connect to server. It throws nullPointerException while trying to connect web service. I tried using CA certified key in the client side. In this case, it works. I need to connect to axis2 1.0 server deployed over https with client that has self signed certificate. Does any one knows how to configure the client for this? Thanks in advance. Subash PRIVACY NOTICE This email and any attachments may be confidential and/or privileged. Use of the information contained in this email by anyone other than the intended recipient is strictly prohibited. If you have received this email in error, please notify the sender by replying to this message and delete this email. - To unsubscribe, e-mail: axis-user-unsubscr...@ws.apache.org For additional commands, e-mail: axis-user-h...@ws.apache.org - To unsubscribe, e-mail: axis-user-unsubscr...@ws.apache.org For additional commands, e-mail: axis-user-h...@ws.apache.org -- Amila Suriarachchi WSO2 Inc. blog: http://amilachinthaka.blogspot.com/
Re: AXIS2-2883
Thanks Deepal.. Even after doing the cleanup's. I still see the CLOSE_WAIT appears. Axis2 Client makes a call to Axis 1.4 service and i get a response from the service. After 30 seconds, i see a CLOSE_WAIT. If i make 2 concurrent requests, i see 2 CLOSE_WAIT (netstat -a | grep CLOSE_WAIT) and this remains until i bounce the server... Any other reason why i would see a CLOSE_WAIT ? Thanks, Nirav On Wed, Jan 27, 2010 at 8:19 AM, Deepal Jayasinghe dee...@opensource.lkwrote: try calling this; client.cleanup(); client.cleanupTransport(); Nirav Shah wrote: Deepal.. Is the issue in the URL that something you are aware of? Regrds, Nirav On Tue, Jan 26, 2010 at 12:15 PM, Nirav Shah snirav.s...@gmail.com mailto:snirav.s...@gmail.com wrote: Thanks Deepal, very much appreciate a response..I have added the serviceClient cleanupTransport( ) after each service call based on your response below. However, i have seen a couple of folks having a NullPointer thrown all of a sudden when they do that in the Axis 2.1.5.1 codebase. http://mail-archives.apache.org/mod_mbox/ws-axis-user/200911.mbox/%3cf794cee42816844aa0ffafacc80f229127e5941...@rrc-dte-exmb2.dte.telcordia.com%3e *http://osdir.com/ml/axis-user-ws.apache.org/2009-11/msg00230.html* Are you aware of these issue? Regards, Nirav On Tue, Jan 26, 2010 at 7:58 AM, Deepal jayasinghe deep...@gmail.com mailto:deep...@gmail.com wrote: Nirav, Yes, try to call clean up after each request call. Thanks, Deepal Hi Thilina/Glen, Can you advice?? I am using Axis 2.1.5.1... I do a soapBinding._getServiceClient().getOptions().setTimeOutinMillis() for every call made to another webservice. Do i need to cleanup transport after every call or does the AXIS2-2883 fix cleans up after every request. Is these issue also fixed for https ?? Regards, Nirav On Mon, Jan 25, 2010 at 8:01 AM, Nirav Shah snirav.s...@gmail.com mailto:snirav.s...@gmail.com mailto:snirav.s...@gmail.com mailto:snirav.s...@gmail.com wrote: Anyone??Would appreciate valuable suggestions.. On Sat, Jan 23, 2010 at 12:35 PM, Nirav Shah snirav.s...@gmail.com mailto:snirav.s...@gmail.com mailto:snirav.s...@gmail.com mailto:snirav.s...@gmail.com wrote: Hi, I have been reading some different sides of this defect. Based on the Release Email sent out, it said the Connections are released automatically and should not need either AUTO_RELEASE_CONNECTION or *the *MultithreadedHttpConnectionManager. But the defect had a comment saying either the options.setCallTransportCleanup(true) is needed or after the call client.transportCleanup() is needed. Is the clean up still needed ? Can anyone please suggest ? AND and i use https , is these issue resolved for https as well ? Thanks, Nirav S -- Thank you! http://blogs.deepal.org http://deepal.org -- Thank you! http://blogs.deepal.org http://deepal.org
Re: ADB Code Generation issues
On Wed, Jan 27, 2010 at 12:48 AM, Brandon Low lostlo...@lostlogicx.comwrote: Hi, I'm using the ant codegen task to build the Google Adwords v2009 API and am running into issues relating to the code generator's handling of complex extensions. The initial issue is that the sub-types of an explicitly referenced type are not themselves explicitly referenced, they are not built (eg. ImageAd extends Ad and is not built). I know that this has been discussed before and I'm able to resolve the top-level issue by enabling both -ss and -g (serverSide and generateAllClasses in the ant task) in the code generator. Unfortunately, when I do this, I run into an issue that relates to Google's use of the same name for both their main fault soap message and a complex type. Both are named APIException. As a result of this, when the inner classes are unpacked from the Stubs, the Fault (which extends Exception) is generated first and then not overwritten by the complex type (which does not). The simplest solution that I can think of for this would be to find a way to enable the functionality of -g/generateAllClasses without the -ss/serverSide. This would resolve the issue because the classes would no longer have any reason to be unpacked from the Stub and would therefor reside properly in different namespaces. I do not know how to do this, so any help would be very kindly appreciated. I'm open to other suggestions for handling this issue. Please feel free to ask for any further details that I can provide. if you still have the problem, try to use -p option with a different package name so that you can move fault class names to a different package. But I think this should be fixed with Axis2 1.5 or later. thanks, Amila. Thanks kindly in advance, --Brandon Low -- Amila Suriarachchi WSO2 Inc. blog: http://amilachinthaka.blogspot.com/
Re: AXIS2-2883
Are you on Windows ? If so this is a common problem, in Windows it takes a while to actually close the connection. Thanks Deepal.. Even after doing the cleanup's. I still see the CLOSE_WAIT appears. Axis2 Client makes a call to Axis 1.4 service and i get a response from the service. After 30 seconds, i see a CLOSE_WAIT. If i make 2 concurrent requests, i see 2 CLOSE_WAIT (netstat -a | grep CLOSE_WAIT) and this remains until i bounce the server... Any other reason why i would see a CLOSE_WAIT ? Thanks, Nirav On Wed, Jan 27, 2010 at 8:19 AM, Deepal Jayasinghe dee...@opensource.lk mailto:dee...@opensource.lk wrote: try calling this; client.cleanup(); client.cleanupTransport(); Nirav Shah wrote: Deepal.. Is the issue in the URL that something you are aware of? Regrds, Nirav On Tue, Jan 26, 2010 at 12:15 PM, Nirav Shah snirav.s...@gmail.com mailto:snirav.s...@gmail.com mailto:snirav.s...@gmail.com mailto:snirav.s...@gmail.com wrote: Thanks Deepal, very much appreciate a response..I have added the serviceClient cleanupTransport( ) after each service call based on your response below. However, i have seen a couple of folks having a NullPointer thrown all of a sudden when they do that in the Axis 2.1.5.1 codebase. http://mail-archives.apache.org/mod_mbox/ws-axis-user/200911.mbox/%3cf794cee42816844aa0ffafacc80f229127e5941...@rrc-dte-exmb2.dte.telcordia.com%3e *http://osdir.com/ml/axis-user-ws.apache.org/2009-11/msg00230.html* Are you aware of these issue? Regards, Nirav On Tue, Jan 26, 2010 at 7:58 AM, Deepal jayasinghe deep...@gmail.com mailto:deep...@gmail.com mailto:deep...@gmail.com mailto:deep...@gmail.com wrote: Nirav, Yes, try to call clean up after each request call. Thanks, Deepal Hi Thilina/Glen, Can you advice?? I am using Axis 2.1.5.1... I do a soapBinding._getServiceClient().getOptions().setTimeOutinMillis() for every call made to another webservice. Do i need to cleanup transport after every call or does the AXIS2-2883 fix cleans up after every request. Is these issue also fixed for https ?? Regards, Nirav On Mon, Jan 25, 2010 at 8:01 AM, Nirav Shah snirav.s...@gmail.com mailto:snirav.s...@gmail.com mailto:snirav.s...@gmail.com mailto:snirav.s...@gmail.com mailto:snirav.s...@gmail.com mailto:snirav.s...@gmail.com mailto:snirav.s...@gmail.com mailto:snirav.s...@gmail.com wrote: Anyone??Would appreciate valuable suggestions.. On Sat, Jan 23, 2010 at 12:35 PM, Nirav Shah snirav.s...@gmail.com mailto:snirav.s...@gmail.com mailto:snirav.s...@gmail.com mailto:snirav.s...@gmail.com mailto:snirav.s...@gmail.com mailto:snirav.s...@gmail.com mailto:snirav.s...@gmail.com mailto:snirav.s...@gmail.com wrote: Hi, I have been reading some different sides of this defect. Based on the Release Email sent out, it said the Connections are released automatically and should not need either AUTO_RELEASE_CONNECTION or *the *MultithreadedHttpConnectionManager. But the defect had a comment saying either the options.setCallTransportCleanup(true) is needed or after the call client.transportCleanup() is needed. Is the clean up still needed ? Can anyone please suggest ? AND and i use https , is these issue resolved for https as well ? Thanks, Nirav S -- Thank you! http://blogs.deepal.org http://deepal.org -- Thank you! http://blogs.deepal.org http://deepal.org -- Thank you! http://blogs.deepal.org http://deepal.org