Re: How do I force axis2 to include a SOAPAction http header
Even if you are using SOAP 1.2, if you set the soapAction Axis2 will send it for you. In the event that soap action is not ser Axis2 will send a empty SOAPAction header of SOAP 1.1 is used (cause thats mandatory). Thanks, Keith. On Wed, Apr 29, 2009 at 11:11 PM, Steve Hall sh...@starmountsystems.comwrote: For soap 1.1: serviceClient.getOptions().setSoapVersionURI(org.apache.axiom.soap.SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI); For soap 1.2: serviceClient.getOptions().setSoapVersionURI(org.apache.axiom.soap.SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI); christopher.g...@l-3com.com wrote: In that case, how do I force axis2 to choose SOAP 1.1 so that it will send the SOAPAction header? Thanks, Chris Gunn Senior Programmer L-3 Communications -Original Message- From: Salisbury, Mark [mailto:mark.salisb...@hp.com] Sent: Wednesday, April 29, 2009 11:42 AM To: axis-user@ws.apache.org Subject: RE: How do I force axis2 to include a SOAPAction http header I'm sort of new myself to SOAP and web services, but from what I've read you may want to investigate the differences between SOAP 1.1 and SOAP 1.2 and double check the SOAP version that your .NET services expects. One change between 1.1 and 1.2 is how the action header stuff is handled. Axis 2 is probably doing the right thing given the SOAP version you're using. Mark -Original Message- From: christopher.g...@l-3com.com [mailto:christopher.g...@l-3com.com] Sent: Wednesday, April 29, 2009 9:33 AM To: axis-user@ws.apache.org Subject: How do I force axis2 to include a SOAPAction http header I'm using axis2 1.4.1 and adb to call a .Net web service. I keep getting a response saying: System.Web.Services.Protocols.SoapException: Unable to handle request without a valid action parameter. Please supply a valid soap action. I enabled the wire.header logs and it is sending action in the Content-Type header, but it is not sending the SOAPAction header at all, not even as an empty string . I have tried setting options.setAction and options.setProperty( org.apache.axis2.Constants.Configuration.DISABLE_SOAP_ACTION, org.apache.axis2.Constants.VALUE_FALSE); but that hasn't helped. Any help would be greatly appreciated. Thanks, Chris Gunn Senior Programmer L-3 Communications -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Question about nillable=true and minOccurs=0
Yes it behaves in the same manner. Thanks, Keith. On Fri, Apr 24, 2009 at 9:27 PM, McCullough, Ryan rmccullo...@rightnow.comwrote: If you have an element on a complexType that has nillable=”true” and minOccurs=”0”, will the element be de-serialized if the property on the soap stub is set to null? For instance, let’s say a portion of your XSD looks like this: xs:complexType name=point xs:sequence xs:element name=x type=xs:int nillable=true minOccurs=0 maxOccurs=1 / xs:element name=y type=xs:int nillable=true minOccurs=0 maxOccurs=1 / /xs:sequence /xs:complexType If in your generated soap stub object you set x = null and y = 20, will the de-serialized xml look like this: point x xsi:nil=true / y20/y /point I know that Axis 1.4 (not Axis2) will not de-serialize the element when it is set to null and has minOccurs=”0”. If need be I can dig up the specific code where this happens. The question I have is if Axis2 also behaves this way? * * *Ryan McCullough* | *RightNow Technologies* | Integration Tools Engineer 406-556-3162 office | Bozeman, MT | rmccullo...@rightnow.com | http://www.rightnow.com -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Need Guidance in writing services.xml for axis 2 aar for WSDL with multiple ports
Hi, Although WSDL (1.1) allows multiple ports to implement several bindings this is not supported by Axis2. When Axis2 builds a service using a WSDL it only looks at a single port and picks the operations corresponding to that binding. I think having multiple ports implement several bindings is a bad practice, (BTW WSDL 2.0 does not let you do this, endpoints of a service need to refer to the same interface). Thanks, Keith. On Thu, Apr 23, 2009 at 12:38 PM, Hitender hitender...@gmail.com wrote: I have WSDL which have multiple ports wsdl:service name = PearsonPersonManagementServiceSync wsdl:port name = PersonManagementServiceSyncSoap binding = imsp:PersonManagementServiceSyncSoap soap:address location = http://imsglobal.org/services/PersonManagementService// /wsdl:port wsdl:port name = PearsonPersonManagementServiceSyncSoap binding = tns:PearsonPersonManagementServiceSyncSoap soap:address location = http://imsglobal.org/services/PersonManagementService// /wsdl:port /wsdl:service And here binding tns:PearsonPersonManagementServiceSyncSoap has only one operation which is existsPerson and imsp:PersonManagementServiceSyncSoap has multiple operations like createPerson, updatePerson etc. Now I have to implement this WSDL and I am planning to have only one Service CLASS with all the required methods existsPerson, createPerson etc. I am having difficulties in writing services.xml file for this service. I have created following services.xml service name=PearsonPersonManagementServiceSync scope=application parameter name=useOriginalwsdltrue/parameter parameter name=modifyUserWSDLPortAddresstrue/parameter descriptionTPI Person Management Service/description messageReceivers messageReceiver mep= http://www.w3.org/2004/08/wsdl/in-only; class=org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver / messageReceiver mep= http://www.w3.org/2004/08/wsdl/in-out; class=org.apache.axis2.rpc.receivers.RPCMessageReceiver/ /messageReceivers parameter name=ServiceClasscom.pearson.ebook.tpi_services.pms.PearsonPersonManagementServiceSync/parameter /service Here I am getting exception that There is no port type associated with binding when deploying the aar file. I have attached services.xml and WSDL File for reference. Any help will be appreciated. Thanks Hitender http://www.nabble.com/file/p23191471/PearsonPersonManagementServiceSync.wsdl PearsonPersonManagementServiceSync.wsdl http://www.nabble.com/file/p23191471/services.xml services.xml -- View this message in context: http://www.nabble.com/Need-Guidance-in-writing-services.xml-for-axis-2-aar-for-WSDL-with-multiple-ports-tp23191471p23191471.html Sent from the Axis - User mailing list archive at Nabble.com. -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Stubs Options Configuration
Thanks Dave for posting your findings. I'm sure our users would appreciate it. Thanks, Keith. On Thu, Apr 23, 2009 at 7:42 AM, David Rees dree...@gmail.com wrote: On Wed, Apr 22, 2009 at 6:30 PM, David Rees dree...@gmail.com wrote: OK, more reading and now I realize that keep-alive should be on by default, but to get any performance benefit, I also need to REUSE_HTTP_CLIENT. So I've done that and yes, performance has improved now, but I run into the default limit of only 2 concurrent connections per host limit. How can I set my own MULTITHREAD_HTTP_CONNECTION_MANAGER or raise the default limit? This is a custom application so I am not worried about exceeding RFC specifications for concurrent connections. Talking to myself a bit more, but I finally figured out how to do it with the help of this thread[1] on the axis-dev list. The key is to set both REUSE_HTTP_CLIENT to true and CACHED_HTTP_CLIENT to my own HttpClient class. Here's what I am doing is pseudo code: Wrap the creation of new stubs in a function which then calls these functions: Options o = stub._getServiceClient().getOptions(); o.setProperty(HTTPConstants.CHUNKED, Boolean.FALSE); o.setProperty(HTTPConstants.MC_ACCEPT_GZIP, Boolean.TRUE); o.setProperty(HTTPConstants.REUSE_HTTP_CLIENT, Boolean.TRUE); o.setProperty(HTTPConstants.CACHED_HTTP_CLIENT, getHttpClient()); getHttpClient creates a cached HttpClient with my own MultiThreadedHttpConnectionManager: MultiThreadedHttpConnectionManager manager = new MultiThreadedHttpConnectionManager(); manager.getParams().setDefaultMaxConnectionsPerHost(20); httpClient = new HttpClient(manager); httpClient.getParams().setVersion(HttpVersion.HTTP_1_1); So far this appears to work well and significantly reduces response time and improves performance when making a lot of requests in a row. Would be nice if this were documented somewhere official, but at least now it will be in the mail archives. :-) -Dave [1] http://markmail.org/message/e4wdlwgnkkttqiov -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Cannot see service give 500 Error
You could grab the war distribution for Axis2 and simple drop it into Tomcat. You dont need to configure anything, It will work out of the box. Thanks, Keith. On Wed, Apr 1, 2009 at 2:27 AM, Cyril Furtado cyr...@skire.com wrote: Hi I deployed axis1.4.1 on Tomcat 5.0 , using all the jars provided in the axis2 lib , added jms,jar , used the /conf/axis2.xml Using the samples/pojo put StockQuoteService.aar as given in samples under /services directory I have configured web.xml to start the Axis2 servlet I have checked almost everything, but I cannot see the service Here is the log -- 2009-03-31 13:37:15,761 DEBUG engine.AxisEngine - [MessageContext: logID=urn:uuid:64582CF668548213C21238531835777] sendFault:null 2009-03-31 13:37:15,761 DEBUG engine.Phase- [MessageContext: logID=urn:uuid:64582CF668548213C21238531835777] Checking pre-condition for Phase MessageOut 2009-03-31 13:37:15,761 DEBUG engine.Phase- [MessageContext: logID=urn:uuid:64582CF668548213C21238531835777] Invoking phase MessageOut 2009-03-31 13:37:15,761 DEBUG engine.Phase- [MessageContext: logID=urn:uuid:64582CF668548213C21238531835777] Checking post-conditions for phase MessageOut 2009-03-31 13:37:15,761 DEBUG engine.Phase- [MessageContext: logID=urn:uuid:64582CF668548213C21238531835777] Checking pre-condition for Phase Security 2009-03-31 13:37:15,761 DEBUG engine.Phase- [MessageContext: logID=urn:uuid:64582CF668548213C21238531835777] Invoking phase Security 2009-03-31 13:37:15,761 DEBUG engine.Phase- [MessageContext: logID=urn:uuid:64582CF668548213C21238531835777] Checking post-conditions for phase Security 2009-03-31 13:37:15,761 DEBUG addressing.EndpointReference- hasAnonymousAddress: http://www.w3.org/2005/08/addressing/anonymous is Anonymous: true 2009-03-31 13:37:15,761 DEBUG http.ApplicationXMLFormatter- contentType set from messageContext =null 2009-03-31 13:37:15,761 DEBUG om.OMOutputFormat - Start getContentType: OMOutputFormat [ mimeBoundary =null rootContentId=null doOptimize=false doingSWA=false isSOAP11=false charSetEncoding=UTF-8 xmlVersion=null contentType=null ignoreXmlDeclaration=false autoCloseWriter=true actionProperty=null optimizedThreshold=0] 2009-03-31 13:37:15,761 DEBUG om.OMOutputFormat - getContentType= {application/soap+xml} OMOutputFormat [ mimeBoundary =null rootContentId=null doOptimize=false doingSWA=false isSOAP11=false charSetEncoding=UTF-8 xmlVersion=null contentType=application/soap+xml ignoreXmlDeclaration=false autoCloseWriter=true actionProperty=null optimizedThreshold=0] 2009-03-31 13:37:15,761 DEBUG http.ApplicationXMLFormatter- (NOTE) contentType from format is=application/soap+xml 2009-03-31 13:37:15,761 DEBUG http.ApplicationXMLFormatter- contentType returned =application/xml; charset=UTF-8 2009-03-31 13:37:15,761 DEBUG http.ApplicationXMLFormatter- start writeTo() 2009-03-31 13:37:15,761 DEBUG util.StAXUtils - XMLStreamWriter is com.ctc.wstx.sw.SimpleNsStreamWriter 2009-03-31 13:37:15,761 DEBUG http.ApplicationXMLFormatter- end writeTo() 2009-03-31 13:37:15,761 DEBUG transport.TransportUtils- Did not find RequestResponseTransport cannot set response written 2009-03-31 13:37:15,761 DEBUG engine.Phase- [MessageContext: logID=urn:uuid:64582CF668548213C21238531835777] Invoking flowComplete() in Phase Security 2009-03-31 13:37:15,761 DEBUG engine.Phase- [MessageContext: logID=urn:uuid:64582CF668548213C21238531835777] Invoking flowComplete() in Phase MessageOut Please let me know whats wrong Thanks Cyril -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: AxisFault namespace mismatch require
The exception says it all... The server expects your request to be in the http://hello.axis2.com/xsd namespace but your request was in the http://hello.axis2.com http://hello.axis2.com/xsd namespace. If you fix this it would work. BTW how did you write your client? If you used wsdl2Java to generate a stub it would have handled this namespace issue. Thanks, Keith. On Wed, Apr 1, 2009 at 1:56 AM, bandrm rajivband...@gmail.com wrote: Hello, I developed a simple web service using predominantly ant build script. The web service is deployed in tomcat and it is working fine. I have generated wsdl using using ant tool (Class org.apache.axis2.tool.ant.Java2WSDLTask). I developed client and consumed this wsdl. Now, when I execute the client program, I get the following exception. This might be elementary, but would like to get it resolved. 485 ERROR org.apache.axis2.rpc.receivers.RPCMessageReceiver - Exception occurred while trying to invoke service method sayHello org.apache.axis2.AxisFault: namespace mismatch require http://hello.axis2.com/xsd found http://hello.axis2.com at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:103) at org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.receive(AbstractInOutSyncMessageReceiver.java:39) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:144) at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:279) at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:116) at javax.servlet.http.HttpServlet.service(HttpServlet.java:647) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) at java.lang.Thread.run(Unknown Source) -- View this message in context: http://www.nabble.com/AxisFault-namespace-mismatch-require-tp22811514p22811514.html Sent from the Axis - User mailing list archive at Nabble.com. -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: ADB alternatives
If you feel that ADB is generating too many classes for you then xmlbeans is not an option. It generates way more classes than ADB. On the other hand JiBX would be good if you already have your java classes in hand. Thanks, Keith. On Thu, Mar 26, 2009 at 7:27 PM, Leonardo sombr...@gmail.com wrote: thank you for the reply, ;) 2009/3/26 Sagara Gunathunga sagara.gunathu...@gmail.com Hi , Axis2 supports for many data binding options such as XMLBeans , JiBX and Caster , please refer following links and sample directory of Axis2 distribution . [1] - http://ws.apache.org/axis2/1_4_1/toc.html [2] - http://ws.apache.org/axis2/1_4_1/quickstartguide.html Thanks , (...) -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Help to understand when would this situation arise?
Have you considered upgrading to Axis2? It performs 4 to 5 times faster than Axis. Thanks, Keith. On Fri, Mar 20, 2009 at 11:39 AM, venksrir venks...@yahoo.com wrote: Hello All, We are using Axis 1.4 for Webservice. Our application is showing a huge performance degradation and the logs indicate the following exception java.util.HashMap.get(HashMap.java:346) org.apache.axis.encoding.TypeMappingImpl.getSerializer(TypeMappingImpl.java:324) org.apache.axis.encoding.TypeMappingDelegate.getSerializer(TypeMappingDelegate.java:80) org.apache.axis.encoding.SerializationContext.getSerializer(SerializationContext.java:1615) org.apache.axis.encoding.SerializationContext.serializeActual(SerializationContext.java:1465) org.apache.axis.encoding.SerializationContext.serialize(SerializationContext.java:980) org.apache.axis.encoding.SerializationContext.serialize(SerializationContext.java:734) org.apache.axis.encoding.ser.BeanSerializer.serialize(BeanSerializer.java:230) org.apache.axis.encoding.SerializationContext.serializeActual(SerializationContext.java:1504) org.apache.axis.encoding.SerializationContext.serialize(SerializationContext.java:980) org.apache.axis.encoding.SerializationContext.serialize(SerializationContext.java:801) org.apache.axis.message.RPCParam.serialize(RPCParam.java:208) org.apache.axis.message.RPCElement.outputImpl(RPCElement.java:433) org.apache.axis.message.MessageElement.output(MessageElement.java:1208) org.apache.axis.message.SOAPBody.outputImpl(SOAPBody.java:139) org.apache.axis.message.SOAPEnvelope.outputImpl(SOAPEnvelope.java:478) org.apache.axis.message.MessageElement.output(MessageElement.java:1208) org.apache.axis.SOAPPart.writeTo(SOAPPart.java:315) org.apache.axis.SOAPPart.writeTo(SOAPPart.java:269) org.apache.axis.SOAPPart.saveChanges(SOAPPart.java:530) org.apache.axis.attachments.AttachmentsImpl.getAttachmentCount(AttachmentsImpl.java:554) org.apache.axis.Message.getContentType(Message.java:486) org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:394) org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:181) org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32) org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) org.apache.axis.SimpleChain.invoke(SimpleChain.java:83) org.apache.axis.client.AxisClient.invoke(AxisClient.java:165) org.apache.axis.client.Call.invokeEngine(Call.java:2784) org.apache.axis.client.Call.invoke(Call.java:2767) org.apache.axis.client.Call.invoke(Call.java:2443) org.apache.axis.client.Call.invoke(Call.java:2366) org.apache.axis.client.Call.invoke(Call.java:1812) Could someone throw light on when this error could possibly occur? The exception trace indicates that HTTPSender is trying to get the ContentType from the Message Object but not clear why RPC come in to picture even before a Socket connection is established with the Remote producer. The code snippet in HTTPSender Message reqMessage = msgContext.getRequestMessage(); ... ... contentType = reqMessage.getContentType(msgContext.getSOAPConstants()); Where contentType is String. Thanks. -- View this message in context: http://www.nabble.com/Help-to-understand-when-would-this-situation-arise--tp22614807p22614807.html Sent from the Axis - User mailing list archive at Nabble.com. -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Axis2 service to get username from rampart
Hi Jan, If you secure the service using UsernameToken authentication you could get the username as described in [1]. Thanks, Keith. [1] http://www.keith-chapman.org/2008/09/axis2-rampart-access-username-used-for.html 2009/3/20 Jan Pernica jan.pern...@pernica.org Hi I am new to rampart and I would like know if it is possible to get username calling the service? We need it to take specific action for each user calling the service. Thank you Jan PS: my googling have not provided the answer :-) -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: ClassCastException with weblogic and axis2
Deploying Axis2 on Weblogic can be a pain sometimes due to class loading issues. Here are a couple of post that worked. [1] Weblogic9.2 with Axis2 webservice http://forums.oracle.com/forums/thread.jspa?threadID=855171tstart=0 [2] How to deploy Apache Axis2 on WebLogic 10http://charithaka.blogspot.com/2008/07/how-to-deploy-apache-axis2-on-weblogic.html Thanks, Keith. On Thu, Mar 19, 2009 at 11:24 PM, tfecw wei...@gmail.com wrote: Hi, I'm using weblogic 9.1 and trying to deploy axis2 (1.4.1) as an exploded war file. Axis2 (1.4) works fine for me but with 1.4.1 i'm getting this CCE on .org.apache.xerces.jaxp.DocumentBuilderFactoryImpl org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected excep tion parsing XML document from ServletContext resource [/WEB-INF/applicationCont ext.xml]; nested exception is java.lang.ClassCastException: org.apache.xerces.ja xp.DocumentBuilderFactoryImpl at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadB eanDefinitions(XmlBeanDefinitionReader.java:420) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBea nDefinitions(XmlBeanDefinitionReader.java:342) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBea nDefinitions(XmlBeanDefinitionReader.java:310) at org.springframework.beans.factory.support.AbstractBeanDefinitionReade r.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143) at org.springframework.beans.factory.support.AbstractBeanDefinitionReade r.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178) I *do* have the prefer -web-inf class property set to true in a weblogic.xml file ?xml version=1.0 encoding=UTF-8? weblogic-web-app xmlns=http://www.bea.com/ns/weblogic/90; container-descriptor prefer-web-inf-classestrue/prefer-web-inf-classes /container-descriptor /weblogic-web-app Thanks -- View this message in context: http://www.nabble.com/ClassCastException-with-weblogic-and-axis2-tp22605872p22605872.html Sent from the Axis - User mailing list archive at Nabble.com. -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Does HTTPEndpointStub work?
Could you post your wsdl please? Thanks, Keith. On Tue, Mar 17, 2009 at 8:35 PM, jcaristi jcari...@whisolutions.com wrote: I am generating ADB stubs from hand-coded WSDL, for an Axis2 service that is embedded in a web application. I have both SOAP and HTTP endpoints defined. I can successfully call my web service using both SOAP and REST clients. SoapUI works for both. The HttpSoap11EndpointStub works for both (using the ENABLE_REST option for REST). I have also created a Service client that works. What does not work is the HTTPEndpointStub, and I'm not sure why, or even if I need it. I do want to support both SOAP and REST. I would like to use the most efficient approach, which is why I am asking these questions. The working URL (in all the above scenarios) for my service is: /partselect/services/PartSelectService/ When I attempt to use the HTTPEndpointStub, its URL is different. I get the error: The service cannot be found for the endpoint reference (EPR) /partselect/ services/PartSelectService.PartSelectServiceHttpEndpoint/PartSelectService/MakeSearch Why is an HTTPEndpointStub created? Why does this stub create the URL in this way? How does one configure the server to listen on this type of endpoint? Should I just use the HTTPSoap11EndpointStub, or should I try to get this one working? -- View this message in context: http://www.nabble.com/Does-HTTPEndpointStub-work--tp22561063p22561063.html Sent from the Axis - User mailing list archive at Nabble.com. -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Problem with Axis2 Code Generator - Java2WSDL
Hi Mike, Sorry I'm not familiar with the eclipse Plugin to answer your question. But here is a workaround. You can use this hosted Java2wsdl [1] tool at [2]. This GUI tool is part of the WSO2 Web Services Application Server [3] which is built on top of Axis2. Thanks, Keith. [1] https://tools.wso2.org/tools/carbon/java2wsdl/index.jsp?region=region5item=java2wsdl_menu [2] http://wso2.org/tools [3] http://wso2.org/projects/wsas On Thu, Mar 12, 2009 at 9:07 PM, Michael mtarullo...@optonline.net wrote: Not long ago I posted that I was was having a problem generating a WSDL file from my Java code using the Axis2 Code Generator. An answer was provided which seemed very promising. The answer that was given is provided below: This is a known bug. Here is the solution with explanation: http://blogiterox.wordpress.com/2008/10/24/exploring-apache-axis2-and-eclipse-plug-in-development/ Solution: Copy the jar for stax and for backport to the plug-in directory (Eclipse\plug-ins\Axis2 code generator\lib) and then add the backport jar to the plugin.xml file. I went to the link provided and followed the directions provided there (these are summarized in the solution given above) and tried to generate a WSDL file from my code. I encountered the exact same problem. A description of that problem is provided below: When I launch the Axis2 Code Generator (v1.3.0) Wizard, enter the fully qualified class name and the location of the class file and then select the button to test loading the class I keep getting a java.lang.ClassNotFoundException. Can anyone provide any additional help? Thanks Mike -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Axis2 firsts steps
Hi Simon, You could also try out the WSO2 Web Services Application Server [1]. It is a server built to host Web Services and is built on top of Axis2. It is free and open source and available under the Apache License. It can be run standalone and has a easy to use management console. Thanks, Keith. [1] http://wso2.org/projects/wsas On Sat, Mar 14, 2009 at 12:30 AM, Simon Côté capitainec...@hotmail.comwrote: Hi, I'm sorry to write you, but at this point you are my last hope. I'm a newbe in the WS world. A collegue have suggest me to use your product Axis2 for easily create wsdl code from my Java class. I'm trying to go through the installation guide. I don't have a real server, so I have installed the Axis2 standalone installation. I'm at point that I should install Axis2 in a Servlet Container. There my first question: 1) Do we consider the axis2 installation like a Servlet Container? Do I to put the axis2.war file just created in the webapp folder of my Axis2 installation folder? The problem at the base of me email is that I don't have the Axis web application home page. After have called the axis2server.bat executable, I try to reach the home page by the url http://localhost:8080/axis2;, by I'm instantly redirected to the page http://localhost:8080/axis2/services/; ?? Thanks for any explication, Have a nice day Simon -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: set http.protocol.single-cookie-header in Axis2
No I dont think we support that parameter. Although you set it into the options object it is not set into HTTPClient at the sender. You may have to raise this issue requesting for it as a new feature to Axis2. Thanks, Keith. On Sun, Mar 8, 2009 at 6:44 PM, esu2 johnzhang...@hotmail.com wrote: Thank you. Sorry I guess my question was not clear. I was looking for how to set cookie attribut in a web service call. The example you provided demostrated how to set cookie when request a web page. I thought when calling a web service, we call a client service: ServiceClient sc = service._getServiceClient(); then, acquire a options object from service: Options options = sc.getOptions(); the attributs set in options: options.setManageSession(true); options.setProperty(HTTPConstants.COOKIE_POLICY,CookiePolicy.BROWSER_COMPATIBILITY); ... However, if I use the same way to set SINGLE_COOKIE_HEADER, it seems not working: options.setProperty(HttpMethodParams.SINGLE_COOKIE_HEADER,Boolean.TRUE); any idea? Thanks -- View this message in context: http://www.nabble.com/set-%22http.protocol.single-cookie-header%22-in-Axis2-tp22393645p22397812.html Sent from the Axis - User mailing list archive at Nabble.com. -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Question about the order of elements in the response
The order of the elements is important cause the elements are within a sequence block. It is not important if it was within a all block. Thanks, Keith. On Fri, Mar 6, 2009 at 8:08 PM, DANIEL, Yves Marie yves-marie.dan...@capgemini.com wrote: Hi everyone ! I am facing a problem of order. I used that kind of wsdl to generate client and server side : xs:complexType name=*user* xs:sequence xs:element name=*tacId* nillable=*true* type=*xs:long*/ xs:element name=*alias* nillable=*true* type=*xs:long*/ /xs:sequence /xs:complexType if the server side sens this response : * user alias1234/alias tacId1234/tacId /user* I'm got an unexpected element alias message. I believed the order of elements at the same level had no importance ! Is the order important or is it the way I generated my code ? Yves-Marie This message contains information that may be privileged or confidential and is the property of the Capgemini Group. It is intended only for the person to whom it is addressed. If you are not the intended recipient, you are not authorized to read, print, retain, copy, disseminate, distribute, or use this message or any part thereof. If you receive this message in error, please notify the sender immediately and delete all copies of this message. -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Question about exposing a database as a web service...
Hi, Have you looked at the WSO2 DataServices Solution? [1]. It is a product thats built on Apache Axis2 which helps you expose a data base as a web service by simply following a wizard. I think using that will be more productive in your case. It is also released under the Apache License. Thanks, Keith. [1] http://wso2.org/projects/solutions/data-services/java On Thu, Mar 5, 2009 at 10:23 AM, riveraej river...@gmail.com wrote: Hi everyone! I come to you asking for help. I'm trying to mount a web service which consults a MySQL Database. I have already done the consult, but I can show all data contained in the database, or I can show data according to conditions setting these conditions manually in the code of the Java Class. Nevertheless I need to pass in some way to my class a value in order to make the SQL consult according to this. Talking in code terms... I have the next code: public class poDBService{ public OrderData orderDetails(){ Connection conn = (Connection) MessageContext.getCurrentMessageContext().getProperty( poDataServiceLifeCycle.DB_CONNECTION); if (conn!=null){ try{ String SQL = SELECT * FROM `porder` WHERE order_id=1; PreparedStatement statement = conn.prepareStatement(SQL); ResultSet result = statement.executeQuery(); if (result.next()){ OrderData orderData = new OrderData(); orderData.setOrderId(result.getInt(order_id)); orderData.setSoldTo(result.getInt(soldTo)); orderData.setShipTo(result.getInt(shipTo)); I can access to my service through my browser in the address: http://localhost:8080/axis2/services/poDataService/orderDetails It correctly displays the corresponding data contained in the table porder But I need to define my SQL sentence allowing to pass it the needed parameter for the WHERE clause. I already found that some people makes it with code like the next: public class poDBService{ public OrderData orderDetails(int id){ Connection conn = (Connection) MessageContext.getCurrentMessageContext().getProperty( poDataServiceLifeCycle.DB_CONNECTION); if (conn!=null){ try{ String SQL = SELECT * FROM `porder` WHERE order_id = + id ; PreparedStatement statement = conn.prepareStatement(SQL); ResultSet result = statement.executeQuery(); if (result.next()){ OrderData orderData = new OrderData(); orderData.setOrderId(result.getInt(order_id)); orderData.setSoldTo(result.getInt(soldTo)); orderData.setShipTo(result.getInt(shipTo)); With this code theoretically it would be possible to pass paramete id to the service in the URL address: http://localhost:8080/axis2/services/poDataService/orderDetails?id=1 But when I try to do it in this way Axis returns in my web browser a Soap message like this: soapenv:Reason soapenv:Text xml:lang=en-USunknown/soapenv:Text /soapenv:Reason No error is thorwn in JBoss console window. I'm using: - JBoss-4.2.2.G.A. - Axis2-1.3 - jdk1.5.0_17 - mysql-connector-java-5.1.7 - MySQL Server 5.1 Any ideas what is happening? or is there another way to do this? Thanks in advance! Ernesto J. Rivera -- View this message in context: http://www.nabble.com/Question-about-exposing-a-database-as-a-web-service...-tp22345253p22345253.html Sent from the Axis - User mailing list archive at Nabble.com. -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: REST not working after upgrade from 1.1.1 to 1.4.1
Hi Ben, What is the URL you used when sending request (including the query parameters). According to your wsdl if you send a request to /certifyContact?clientUserID=someUserIDlicenseID=someLicenseIDphoneNumbers=SomePhoneNumbers it should work. Thanks, Keith. On Thu, Feb 26, 2009 at 9:28 PM, Ben Williams ben.willi...@gmail.comwrote: I'm not sure if my wsdl is generated or hand-written (I inherited this project) but here's what it looks like. Operation definition: wsdl:binding name=CertifyChannelHTTPGETBinding type=tns:CertifyChannelPortType http:binding verb=GET/http:binding wsdl:operation name=certifyContact http:operation location=/certifyContact/http:operation wsdl:input http:urlEncoded/http:urlEncoded /wsdl:input wsdl:output mime:content type=text/xml/mime:content /wsdl:output /wsdl:operation /wsdl:binding Input message schema: xsd:element name=certifyContact xsd:complexType xsd:sequence xsd:element name=clientUserID type=xsd:string minOccurs=0/ xsd:element name=licenseID type=xsd:string/xsd:element xsd:element name=phoneNumbers type=xsd:string/xsd:element /xsd:sequence /xsd:complexType /xsd:element -Ben On Wed, Feb 25, 2009 at 10:18 PM, keith chapman keithgchap...@gmail.com wrote: Could you post some extracts from your generated wsdl please. The extracts that I need would be the segment defining the operation and the schema of the input message. Thanks, Keith. On Thu, Feb 26, 2009 at 2:08 AM, Ben Williams b...@plasticboy.com wrote: Hi, I'm upgrading my Axis2 1.1.1 based service to 1.4.1. REST behavior seems to have changed in 1.4.1. When I made a GET request to my service under 1.1.1 Axis would pass a simple XML OMElement to my service method that looked something like this: certifyContactlicenseIDblahblahblah/licenseIDclientUserIDblah/clientUserIDphoneNumbers99/phoneNumbers/certifyContact where licenseID, clientUserID, etc. were parameters in the query string of my request. Under 1.4.1, Axis seems to pass a valid SOAP request as an OMElement to my service method, but it's an empty one and looks like this: axis2ns1:certifyContact xmlns:axis2ns1=http://myhost.com/rest/certify / So the question is, what happened to my request parameters? Do I have to do something special to get 1.4.1 to include the query parameters in the OMElement that it constructs? Thanks, -Ben -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: REST not working after upgrade from 1.1.1 to 1.4.1
Would you mind posting your complete WSDL? That may help figure out what happened. Thanks, Keith. On Fri, Feb 27, 2009 at 3:06 AM, Ben Williams ben.willi...@gmail.comwrote: I got this working after much stepping through Axis code with the debugger. What finally worked was switching the order of the GET and POST bindings in the wsdl. I noticed that Axis was fetching the POST binding while processing my GET request so I thought swapping them in the wsdl might make GET work and break POST but now it seems to get a generic http binding for all http requests and GET and POST both work. I don't fully understand it but it works so I'm happy. -Ben On Thu, Feb 26, 2009 at 12:18 PM, Ben Williams ben.willi...@gmail.com wrote: Yep, my URL looks just like that. When I look at the OMElement that gets passed to my service method, though, it is just an empty tag like this: axis2ns1:certifyContact xmlns:axis2ns1=http://myhost.com/rest/certify; / -Ben On Thu, Feb 26, 2009 at 11:23 AM, keith chapman keithgchap...@gmail.com wrote: Hi Ben, What is the URL you used when sending request (including the query parameters). According to your wsdl if you send a request to /certifyContact?clientUserID=someUserIDlicenseID=someLicenseIDphoneNumbers=SomePhoneNumbers it should work. Thanks, Keith. On Thu, Feb 26, 2009 at 9:28 PM, Ben Williams ben.willi...@gmail.com wrote: I'm not sure if my wsdl is generated or hand-written (I inherited this project) but here's what it looks like. Operation definition: wsdl:binding name=CertifyChannelHTTPGETBinding type=tns:CertifyChannelPortType http:binding verb=GET/http:binding wsdl:operation name=certifyContact http:operation location=/certifyContact/http:operation wsdl:input http:urlEncoded/http:urlEncoded /wsdl:input wsdl:output mime:content type=text/xml/mime:content /wsdl:output /wsdl:operation /wsdl:binding Input message schema: xsd:element name=certifyContact xsd:complexType xsd:sequence xsd:element name=clientUserID type=xsd:string minOccurs=0/ xsd:element name=licenseID type=xsd:string/xsd:element xsd:element name=phoneNumbers type=xsd:string/xsd:element /xsd:sequence /xsd:complexType /xsd:element -Ben On Wed, Feb 25, 2009 at 10:18 PM, keith chapman keithgchap...@gmail.com wrote: Could you post some extracts from your generated wsdl please. The extracts that I need would be the segment defining the operation and the schema of the input message. Thanks, Keith. On Thu, Feb 26, 2009 at 2:08 AM, Ben Williams b...@plasticboy.com wrote: Hi, I'm upgrading my Axis2 1.1.1 based service to 1.4.1. REST behavior seems to have changed in 1.4.1. When I made a GET request to my service under 1.1.1 Axis would pass a simple XML OMElement to my service method that looked something like this: certifyContactlicenseIDblahblahblah/licenseIDclientUserIDblah/clientUserIDphoneNumbers99/phoneNumbers/certifyContact where licenseID, clientUserID, etc. were parameters in the query string of my request. Under 1.4.1, Axis seems to pass a valid SOAP request as an OMElement to my service method, but it's an empty one and looks like this: axis2ns1:certifyContact xmlns:axis2ns1=http://myhost.com/rest/certify; / So the question is, what happened to my request parameters? Do I have to do something special to get 1.4.1 to include the query parameters in the OMElement that it constructs? Thanks, -Ben -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: REST not working after upgrade from 1.1.1 to 1.4.1
Could you post some extracts from your generated wsdl please. The extracts that I need would be the segment defining the operation and the schema of the input message. Thanks, Keith. On Thu, Feb 26, 2009 at 2:08 AM, Ben Williams b...@plasticboy.com wrote: Hi, I'm upgrading my Axis2 1.1.1 based service to 1.4.1. REST behavior seems to have changed in 1.4.1. When I made a GET request to my service under 1.1.1 Axis would pass a simple XML OMElement to my service method that looked something like this: certifyContactlicenseIDblahblahblah/licenseIDclientUserIDblah/clientUserIDphoneNumbers99/phoneNumbers/certifyContact where licenseID, clientUserID, etc. were parameters in the query string of my request. Under 1.4.1, Axis seems to pass a valid SOAP request as an OMElement to my service method, but it's an empty one and looks like this: axis2ns1:certifyContact xmlns:axis2ns1=http://myhost.com/rest/certify; / So the question is, what happened to my request parameters? Do I have to do something special to get 1.4.1 to include the query parameters in the OMElement that it constructs? Thanks, -Ben -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Axis2 SOAP XML response question
If you need to put it as XML, you will have to wrap it in a CDATA element. Thanks, Keith. On Tue, Feb 24, 2009 at 3:26 PM, Shaon, ABS (Arif) arif.sh...@stfc.ac.ukwrote: Thanks for your quick response. Does that mean there is no other way to display XML as XML rather than text literals, even if I don’t want to change the format of the SOAP response. Regards Arif *From:* keith chapman [mailto:keithgchap...@gmail.com] *Sent:* 24 February 2009 03:54 *To:* axis-user@ws.apache.org *Subject:* Re: Axis2 SOAP XML response question Well you could do this by doing a contract first web service. It looks like you are using the POJO approach and when u do that you have to live with the schema that Axis2 would give you. Alternatively you could just stick an ESB in front and run the response through an XSLT and format it to the manner you require. This could be done in a single server if you use the WSO2 Web Services Application Server [1] (This is a Web Services runtime environment built on top of Axis2 and its available under the Apache License). Thanks, Keith. [1] http://wso2.org/projects/wsas/java On Tue, Feb 24, 2009 at 8:25 AM, Shaon, ABS (Arif) arif.sh...@stfc.ac.uk wrote: *Hi Everyone,* I am running a AXIS4 1.4.1 SOAP service that returns an XML document encoded in the SOAP Body. The response I get is the following: soapenv:Envelope xmlns:soapenv=http://www.w3.org/2003/05/soap-envelope; soapenv:Body ns:GetCapabilitiesResponse xmlns:ns=http://stfc.ac.uk; ns:returnlt;?xml version=1.0 encoding=UTF-8? lt; Capabilities xmlns:xlink=http://www.w3.org/1999/xlink; xmlns= http://www.opengis.net/wps/1.0.0; xmlns:ows=http://www.opengis.net/ows/1.1; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; version=1.0.0 xsi:schemaLocation=http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsGetCapabilities_response.xsd; lt;ows:ServiceIdentification.. But the response I would like is the following: soap:Envelope xmlns:soap=http://schemas.xmlsoap.org/soap/envelope/xmlns:xsi =http://www.w3.org/2001/XMLSchema-instance; xmlns:xsd= http://www.w3.org/2001/XMLSchema; soap:Body wps:Capabilities service=WPS version=1.0.0xml:lang =en-CA xmlns:xlink=http://www.w3.org/1999/xlink; xmlns:wps= http://www.opengis.net/wps/1.0.0; xmlns:ows= http://www.opengis.net/ows/1.1; xmlns:xsi= http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation= http://www.opengis.net/wps/1.0.0 ..\wpsGetCapabilities_response.xsdupdateSequence =1 ows:ServiceIdentification. Any idea how I can get AXIS not to display XML tags as literals? Many thanks for your help. Regards Arif -- Scanned by iCritical. -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org -- Scanned by iCritical. -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Axis2: how to skip namespace prefixes ?
Hi Gaurav, Your Response is not valid XML, That is the reason for this error. xmlns:urn:=urn:Alcatel_Lucent_OSP_BPEL should have been xmlns:urn=urn:Alcatel_Lucent_OSP_BPEL This looks to be a bug in the server (OSP 2.4 BPEL engine) Thanks, Keith. On Mon, Feb 23, 2009 at 10:11 PM, GKGT80 gk...@yahoo.com wrote: Hello keith , I am also facing problem in SOAP response. SOAP Response I am getting (TCP Monitor trace):- * HTTP/1.1 200 OK Server: OSP 2.4 BPEL engine Content-Type: text/xml; charset=ISO-8859-1 Content-Length: 1965 Connection: close ?xml version=1.0 encoding=UTF-8? SOAP-ENV:Envelope xmlns:SOAP-ENV=http://schemas.xmlsoap.org/soap/envelope/; xmlns:SOAP-ENC=http://schemas.xmlsoap.org/soap/encoding/; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xmlns:xsd=http://www.w3.org/2001/XMLSchema; xmlns:urn:=urn:Alcatel_Lucent_OSP_BPEL SOAP-ENV:Body ... /SOAP-ENV:Body /SOAP-ENV:Envelope * In our SOAP response Envelope 1 semantics error in namespace declaration:- xmlns:urn:=urn:Alcatel_Lucent_OSP_BPEL Because of this my SOAP client give exception while receiving the SOAP response : * org.apache.axis2.AxisFault: com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character ':' (code 58) expected '=' at [row,col {unknown-source}]: [1,284] Is any work around of this problem ? like getting the raw response etc. KR, Gaurav Kumar Keithgchapman wrote: You could have elementFormDefault=unqualified in the schema of the WSDL. This instructs the user not to care about the namespaces. Thanks, Keith. On Fri, Feb 20, 2009 at 7:39 PM, durbans m34890...@yahoo.it wrote: I am new to Axis2; i am using ADB. I'd like to skip namespace prefixes in XML response. For example if the client receive name xsi:type=xsd:stringJohn/name or receive s:name xsi:type=xsd:stringJohn/s:name it must work in both case. At the moment only the second case work, because in xsd file the namespace is defined. Are there any way to skip ALWAYS the namespaces ? -- View this message in context: http://www.nabble.com/Axis2%3A-how-to-skip-namespace-prefixes---tp22120392p22120392.html Sent from the Axis - User mailing list archive at Nabble.com. -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org -- View this message in context: http://www.nabble.com/Axis2%3A-how-to-skip-namespace-prefixes---tp22120392p22165119.html Sent from the Axis - User mailing list archive at Nabble.com. -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: service cannot be found for the endpoint reference (EPR)
Hi Davis, In your case Axis2 was unable to find the service. The only method that Axis2 looks up the service is using the URL. So that URL should have enough information on what the serviceName is. I'm sure this is a problem in your mapping somewhere. Did you set the contextRoot in the axis2.xml? On a side note this post [1] explains how Axis2 finds the operation for the service. Thanks, Keith. [1] http://www.keith-chapman.org/2009/02/axis2-endpoint-reference-epr-for.html On Mon, Feb 23, 2009 at 10:52 PM, Davis, Christopher (Baltimore) cdav...@checkfree.com wrote: I get the above error while trying to consume a web service embedded in my Tomcat webapp. I'm looking for ideas. The error is occurring in the Dispatch Phase. I generated the Axis2 server and client code using the code generator in Eclipse. 1) Modified web.xml to add servlet and mapping for Axis2. 2) Put axis2.xml in my WEB-INF/conf directory 3) Put services.xml in my WEB-INF/services/MyWebService/META-INF directory. 4) Placed my generated Axis2 server-side code in a package in my source folder. I have Axis2 itself running successfully within Tomcat. I see in the Eclipse debugger that the Axis2 servlet does indeed get invoked when I call my webservice on the endpoint http://localhost:8080/mywebapp/services/MyWebService. Axis2 also seems to be reading my axis2.xml file when it starts up and seems to be reading my services.xml. But it just can't find my webservice or its operation, even though the Eclipse debugger seems to show that my endpoint path is being parsed correctly and the various pieces (contextRoot, servicePath, service) are well-formed names as expected. The Axis2 Architecture Guide states that The in-built dispatchers dispatch to a particular operation depending on various conditions like WS-Addressing information, URI information, SOAP action information, etc.I accepted the default dispatch phases for Axis2, but they're not working correctly and I'm not sure how to get them to work correctly. My call stack in the log in the immediate vicinity of the error looks like this: 2009-02-23 11:36:59,349:http-8080-Processor200:DEBUG:org.apache.axis2.engine.Phase.invoke(Phase.java:314):[MessageContext: logID=urn:uuid:02C5592C0DAB916C831235407016297] Invoking Handler 'HTTPLocationBasedDispatcher' in Phase 'Dispatch' 2009-02-23 11:36:59,349:http-8080-Processor200:DEBUG:org.apache.axis2.engine.Phase.invoke(Phase.java:328):[MessageContext: logID=urn:uuid:02C5592C0DAB916C831235407016297] Checking post-conditions for phase Dispatch 2009-02-23 11:36:59,349:http-8080-Processor200:DEBUG:org.apache.axis2.i18n.ProjectResourceBundle.handleGetObject(ProjectResourceBundle.java:70):org.apache.axis2.i18n.resource::handleGetObject(servicenotfoundforepr) 2009-02-23 11:36:59,349:http-8080-Processor200:*ERROR*:org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:212):The service cannot be found for the endpoint reference (EPR) http://127.0.0.1:8080/frontier_axis/services/WSItemUpdate org.apache.axis2.AxisFault: The service cannot be found for the endpoint reference (EPR) http://127.0.0.1:8080/frontier_axis/services/WSItemUpdate at org.apache.axis2.engine.DispatchPhase.checkPostConditions(DispatchPhase.java:65) at org.apache.axis2.engine.Phase.invoke(Phase.java:333) at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:264) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:163) at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275) at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:133) at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) Thanks for any help! Chris Davis -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Axis2 SOAP XML response question
Well you could do this by doing a contract first web service. It looks like you are using the POJO approach and when u do that you have to live with the schema that Axis2 would give you. Alternatively you could just stick an ESB in front and run the response through an XSLT and format it to the manner you require. This could be done in a single server if you use the WSO2 Web Services Application Server [1] (This is a Web Services runtime environment built on top of Axis2 and its available under the Apache License). Thanks, Keith. [1] http://wso2.org/projects/wsas/java On Tue, Feb 24, 2009 at 8:25 AM, Shaon, ABS (Arif) arif.sh...@stfc.ac.ukwrote: *Hi Everyone,* I am running a AXIS4 1.4.1 SOAP service that returns an XML document encoded in the SOAP Body. The response I get is the following: soapenv:Envelope xmlns:soapenv=http://www.w3.org/2003/05/soap-envelope; soapenv:Body ns:GetCapabilitiesResponse xmlns:ns=http://stfc.ac.uk; ns:returnlt;?xml version=1.0 encoding=UTF-8? lt; Capabilities xmlns:xlink=http://www.w3.org/1999/xlink; xmlns= http://www.opengis.net/wps/1.0.0; xmlns:ows=http://www.opengis.net/ows/1.1; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; version=1.0.0 xsi:schemaLocation=http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsGetCapabilities_response.xsd; lt;ows:ServiceIdentification.. But the response I would like is the following: soap:Envelope xmlns:soap=http://schemas.xmlsoap.org/soap/envelope/xmlns:xsi =http://www.w3.org/2001/XMLSchema-instance; xmlns:xsd= http://www.w3.org/2001/XMLSchema; soap:Body wps:Capabilities service=WPS version=1.0.0xml:lang =en-CA xmlns:xlink=http://www.w3.org/1999/xlink; xmlns:wps= http://www.opengis.net/wps/1.0.0; xmlns:ows= http://www.opengis.net/ows/1.1; xmlns:xsi= http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation= http://www.opengis.net/wps/1.0.0 ..\wpsGetCapabilities_response.xsdupdateSequence =1 ows:ServiceIdentification. Any idea how I can get AXIS not to display XML tags as literals? Many thanks for your help. Regards Arif -- Scanned by iCritical. -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Axis2: how to skip namespace prefixes ?
You could have elementFormDefault=unqualified in the schema of the WSDL. This instructs the user not to care about the namespaces. Thanks, Keith. On Fri, Feb 20, 2009 at 7:39 PM, durbans m34890...@yahoo.it wrote: I am new to Axis2; i am using ADB. I'd like to skip namespace prefixes in XML response. For example if the client receive name xsi:type=xsd:stringJohn/name or receive s:name xsi:type=xsd:stringJohn/s:name it must work in both case. At the moment only the second case work, because in xsd file the namespace is defined. Are there any way to skip ALWAYS the namespaces ? -- View this message in context: http://www.nabble.com/Axis2%3A-how-to-skip-namespace-prefixes---tp22120392p22120392.html Sent from the Axis - User mailing list archive at Nabble.com. -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: AXIS2 |SOAP XML at Server Side
In the skeleton you could do the following, MessageContext.getCurrentMessageContext().getEnvelope().serialize(System.out); Thanks, Keith. On Thu, Feb 19, 2009 at 3:18 PM, Appasamy Thirugnana athirugn...@sapient.com wrote: I need to print the SOAP request XML that is coming inside to access my webservice in Axis2. In skeleton we cant do that it seems. Can anyone tell me which file i need to do that Thanks Appasamy -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Axis1 [1.4] proxy authentication 407
What is the version of Axis2 that you are using? Thanks, Keith. On Tue, Feb 17, 2009 at 7:19 PM, Markos Fragkakis markos.fragka...@agilis-sa.gr wrote: Hi all, I need to make a call to a service over a proxy (Sun Proxy) with authentication. Although this works with apache-commons http client, I am having great difficulty with axis. The best article I have found is this: http://www.velocityreviews.com/forums/t132514-how-to-call-a-webservice-through-a-proxy-server-with-java-axis.html With the above, I get a 407 error. The link I gave suggests using the authenticator class, which also gives me the same error. Has this issue been resolved somewhere? What I have tried is this: System.setProperty(http.proxySet, true); System.setProperty(http.proxyHost, sodiProp.getProxyURL()); System.setProperty(http.proxyPort, sodiProp.getProxyPort()); System.setProperty(http.proxyUser, sodiProp.getProxyUser()); System.setProperty(http.proxyPassword, sodiProp.getProxyPwd()); System.setProperty(http.nonProxyHosts, sodiProp.getNonProxyHosts()); System.setProperty(https.proxySet, true); System.setProperty(https.proxyHost, sodiProp.getProxyURL()); System.setProperty(https.proxyPort, sodiProp.getProxyPort()); System.setProperty(https.proxyUser, sodiProp.getProxyUser()); System.setProperty(https.proxyPassword, sodiProp.getProxyPwd()); System.setProperty(https.nonProxyHosts, sodiProp.getNonProxyHosts()); and then the call: // make service and call Service service = new Service(); Call call = (Call) service.createCall(); call.setTargetEndpointAddress( new URL(endPoint) ); call.setSOAPActionURI(soapAction); Vector elems = (Vector) call.invoke(input); Cheers, Markos Markos Fragkakis Software Engineer AGILIS SA - Statistics and Informatics Acadimias 96-100, 10677 Athens GR Tel: +30 211 1003310 Fax: +30 211 1003315 e-mail: markos.fragka...@agilis-sa.gr -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Axis1 [1.4] proxy authentication 407
Oops just saw that you have mentioned it in the subject line. Sorry I have no clue as to how this could be done with Axis1. Could have offered some help of it was Axis2 though. Thanks, Keith. On Tue, Feb 17, 2009 at 7:57 PM, keith chapman keithgchap...@gmail.comwrote: What is the version of Axis2 that you are using? Thanks, Keith. On Tue, Feb 17, 2009 at 7:19 PM, Markos Fragkakis markos.fragka...@agilis-sa.gr wrote: Hi all, I need to make a call to a service over a proxy (Sun Proxy) with authentication. Although this works with apache-commons http client, I am having great difficulty with axis. The best article I have found is this: http://www.velocityreviews.com/forums/t132514-how-to-call-a-webservice-through-a-proxy-server-with-java-axis.html With the above, I get a 407 error. The link I gave suggests using the authenticator class, which also gives me the same error. Has this issue been resolved somewhere? What I have tried is this: System.setProperty(http.proxySet, true); System.setProperty(http.proxyHost, sodiProp.getProxyURL()); System.setProperty(http.proxyPort, sodiProp.getProxyPort()); System.setProperty(http.proxyUser, sodiProp.getProxyUser()); System.setProperty(http.proxyPassword, sodiProp.getProxyPwd()); System.setProperty(http.nonProxyHosts, sodiProp.getNonProxyHosts()); System.setProperty(https.proxySet, true); System.setProperty(https.proxyHost, sodiProp.getProxyURL()); System.setProperty(https.proxyPort, sodiProp.getProxyPort()); System.setProperty(https.proxyUser, sodiProp.getProxyUser()); System.setProperty(https.proxyPassword, sodiProp.getProxyPwd()); System.setProperty(https.nonProxyHosts, sodiProp.getNonProxyHosts()); and then the call: // make service and call Service service = new Service(); Call call = (Call) service.createCall(); call.setTargetEndpointAddress( new URL(endPoint) ); call.setSOAPActionURI(soapAction); Vector elems = (Vector) call.invoke(input); Cheers, Markos Markos Fragkakis Software Engineer AGILIS SA - Statistics and Informatics Acadimias 96-100, 10677 Athens GR Tel: +30 211 1003310 Fax: +30 211 1003315 e-mail: markos.fragka...@agilis-sa.gr -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Proxy setting problem in axis2
This blog post [1] answers your question. Thanks, Keith. [1] http://www.keith-chapman.org/2008/10/how-to-run-axis2-behind-proxy-and.html On Mon, Feb 16, 2009 at 6:16 PM, dawg zohar.etzi...@gmail.com wrote: Hi, I have an axis2 web service running on tomcat that is calling a client code of another web service. Since I'm running behind an http proxy, I have to setup the proxy settings somewhere or else I'm getting a No route to host exception. Where and how can I set the proxy settings? Thanks! -- View this message in context: http://www.nabble.com/Proxy-setting-problem-in-axis2-tp22036631p22036631.html Sent from the Axis - User mailing list archive at Nabble.com. -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: is axis2c supported on mainframes
You should be sending this mail to the axis-c-u...@ws.apache.org list. You will get a better response to this question there. Thanks, Keith. On Mon, Feb 16, 2009 at 11:54 AM, PP patelprad...@gmail.com wrote: Hi, we want to write webservices on mainframes using axis2c. I wonder if axis2c supports mainframes and if supports is there anything special need to take care of? -- Thanks Regards Pradeep Patel -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Help on REST with AXIS
Hi Murugesh, Did you have a look at this tutorial [1]? Thanks, Keith. [1] http://wso2.org/library/3726 On Tue, Feb 17, 2009 at 4:43 PM, Murugesh Ramachandran muru...@gmail.comwrote: Greetings, I need some help in configuring REST on AXIS2. I have created a standard webservice using axis2. I would like to know how to i make this same service as REST. Is it possible to do that? URL - http://localhost:8080/services/services/categoryservice/getCategoryDetailsFromId I tried the following http://localhost:8080/services/services/categoryservice/getCategoryDetailsFromId?CategoryId=TELEVISIONS My webservice gets invoked but i am categoryId does not get passed. My WSDL is like this ?xml version=1.0 encoding=UTF-8? wsdl:definitions xmlns:soap=http://schemas.xmlsoap.org/wsdl/soap/; xmlns:tns=http://www.consumer.example.com/services/categoryservice/; xmlns:wsdl=http://schemas.xmlsoap.org/wsdl/; xmlns:xsd=http://www.w3.org/2001/XMLSchema; xmlns:ph=http://www.example.com/catalog/services/beans/category; name=categoryservice targetNamespace=http://www.consumer.example.com/services/categoryservice/ wsdl:types xsd:schema targetNamespace=http://www.example.com/catalog/services/beans/category; xsd:include schemaLocation=../schemas/category.xsd/ /xsd:schema xsd:schema targetNamespace=http://www.consumer.example.com/services/categoryservice/ xsd:element name=CategoryId type=xsd:string/ /xsd:schema /wsdl:types wsdl:message name=Response wsdl:part name=Response element=ph:category/ /wsdl:message wsdl:message name=Request wsdl:part name=Request element=ph:category/ /wsdl:message wsdl:message name=RequestCategoryId wsdl:part name=RequestCategoryId element=tns:CategoryId/ /wsdl:message wsdl:portType name=categoryservice wsdl:operation name=getCategoryDetails wsdl:input message=tns:Request/ wsdl:output message=tns:Response/ /wsdl:operation wsdl:operation name=getCategoryDetailsFromId wsdl:input message=tns:RequestCategoryId/ wsdl:output message=tns:Response/ /wsdl:operation /wsdl:portType wsdl:binding name=categoryserviceSOAP type=tns:categoryservice soap:binding style=document transport=http://schemas.xmlsoap.org/soap/http/ wsdl:operation name=getCategoryDetails soap:operation soapAction= http://localhost:8080/services/services/categoryservice/getCategoryDetails / wsdl:input soap:body use=literal/ /wsdl:input wsdl:output soap:body use=literal/ /wsdl:output /wsdl:operation wsdl:operation name=getCategoryDetailsFromId soap:operation soapAction= http://localhost:8080/services/services/categoryservice/getCategoryDetailsFromId / wsdl:input soap:body use=literal/ /wsdl:input wsdl:output soap:body use=literal/ /wsdl:output /wsdl:operation /wsdl:binding wsdl:service name=categoryservice wsdl:port binding=tns:categoryserviceSOAP name=categoryserviceSOAP soap:address location=http://localhost:8080/services/services/categoryservice// /wsdl:port /wsdl:service /wsdl:definitions Thanks Murugesh -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: ServiceName question
Can you try dropping the @WebService annotation. You can certainly control the name of the service using the name Attribute on the services.xml. Thanks, Keith. On Wed, Feb 18, 2009 at 1:44 AM, Cromer, Rick rick.cro...@stratus.comwrote: *I'm having problems controlling my ServiceName. This is important since I'm trying to migrate Axis1 to Axis2 and need to preserve the service name to minimize the impact on the SOAP clients. I set the WebService name attribute in the service class to Address, the class name of the service is AddressService and the service name attribute in the services.xml file to Address. What Axis appears to be doing it setting the Service name to ClassName + Service. Why can't I control the service name from the class @WebService attribute name value?* * * *package* book.sample; *import* javax.jws.WebService; @WebService (name = Address) *public* *class* AddressService { *public* Address getAddress(String name) { Address address = *new* Address(); address.setStreet(Street); address.setNumber(Number 15); *return* address; } } *Content of the services.xml file* service name=*Address* parameter name=*ServiceClass* locked=*false* book.sample.AddressService/parameter /service * * *AddressServiceServicehttp://localhost:8080/axis2/services/AddressServiceService?wsdl * Service EPR : http://localhost:8080/axis2/services/AddressServiceService *Service Description : Address* *Service Status : Active* *Available Operations* - getAddress Rick -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: hot deployment and 'undeployment'
Yes removing a service at runtime could put request coming to that service in a Zombie state. Thanks, Keith. On Thu, Feb 12, 2009 at 8:34 PM, Yan Liu cigi_yan...@yahoo.com wrote: I know about hot update. My question was: is hot deployment + hot undeployment = hot update? Hot update is disabled by default because it might leave axis2 in uncertain state and ongoing service data might be lost. I guess the same thing happens when removing .aar manually. am i right? Thanks, Yan --- On *Thu, 2/12/09, Andreas Veithen andreas.veit...@gmail.com* wrote: From: Andreas Veithen andreas.veit...@gmail.com Subject: Re: hot deployment and 'undeployment' To: axis-user@ws.apache.org, cigi_yan...@yahoo.com Date: Thursday, February 12, 2009, 2:59 AM Yan, Hot update/undeployment can be enabled by adding the following line to your axis2.xml: parameter name=hotupdatetrue/parameter Regards, Andreas On Thu, Feb 12, 2009 at 05:25, Yan Liu cigi_yan...@yahoo.com wrote: Hi, Hot deployment feature in Axis2 1.4.1 is great. I'd like to create an automatic service deployment module for our software system using hot deployment. I have two questions, though: 1. is there documentation on programmatic way for hot deployment? I looked at http://www.ibm.com/developerworks/webservices/library/ws-axis2soap/ , but prefer a complete example or tutorial 2. if i delete the .aar in axis2's service repository, does axis2 detect that the service is gone, then update the list of services? If so, can it be considered hot undeployment? If so, then hot update can be done by hot deployment plus hot undeployment with a predefined interval in axis2 config Thanks, Ian -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: SOA Help
This article [1] gives an overview of SOA. Thanks, Keith. [1] http://wso2.org/library/3174 On Wed, Feb 11, 2009 at 2:30 PM, Appasamy Thirugnana athirugn...@sapient.com wrote: Hi Everyone, I know Axis2 webservices in an intermediate level . I would like to know about SOA architectures which utilises webservices . Can anyone provide some good introduction tutorial for SOA for an axis user. Thanks Appasamy -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: How to intercept soap message from Client
Are you using Axis on the client side and not Axis2? Thanks, Keith. On Tue, Feb 10, 2009 at 5:51 PM, Nihita Goel nihita.g...@gmail.com wrote: Hi: I am trying to intercept the Client side SOAP messages. I have done the following for the same: 1. extended class BasicHandler and implemented the invoke method. At present it just contains a simple Syste.out.println method. 2. Since Client does not have a deployment file. Am doing the following in my client code. IRomanserviceLocator service = *new* IRomanserviceLocator(); IRoman port = service.getIRomanPort(); QName portName = service.getServiceName(); *HandlerRegistry registry = service.getHandlerRegistry();* *List handlerList = * *new** ArrayList(); * *handlerList.add( * *new HandlerInfo( MyHandler.class, null, null** ) );* *registry.setHandlerChain( portName, handlerList );* System. *out*.println( port.intToRoman(551) ); However it does not work. I tried implementing the Myhandler class by implementing the handler class also. Could anyone help ? Thanks -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Axis2 problem with invoking methodes through GET requests
Hi Valeriy, Could you post the XML Schema section that defines this message that your refering to. Thanks, Keith. On Tue, Feb 10, 2009 at 3:10 PM, Valerly Provalov vprova...@five9.comwrote: Hi all, I use skeleton generated by WSDL2Java. While parsing request, generated stubs checks attributes namespaces something like this: if ( reader.isStartElement() new javax.xml.namespace.QName(namespace, attribute_name).equals(reader.getName()) Everything works fine with generated stubs, but doesn't with GET requests. In this case, generated SOAP packet doesn't contain attributes namespace for method parameters. Is there any solution for this problem? Regards, Valeriy. -- This e-mail message is for the sole use of the intended recipient(s) and contains confidential and/or privileged information belonging to Five 9, Inc. or its customers or partners. Any unauthorized review, use, copying, disclosure or distribution of this message is strictly prohibited. If you are not an intended recipient of this message, please contact the sender by reply e-mail and destroy all soft and hard copies of the message and any attachments. Thank you for your cooperation. -- -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Issue with Axis OMElement
Hi, The problem us that your WSDL specifies the type as xs:any. When sending out binary data (as Mtom or as Base64) the type of the element should be type=xs:base64Binary. The stub will take care of it if the attachment is Mtom or Base64. Thanks, Keith. On Wed, Feb 11, 2009 at 12:18 AM, Sathish C sathi...@gmail.com wrote: Martin, That is a good hint. I require Binary optimization and so i am having this parameter value set to 'true'. Now I tried disabling MTOM, so the content is embedded within the ns:myresult element (I had to modify generated WSDL to specify ns:return element to contain ns:myresult) and not binary optimized so that there is no xop:include element created. The below issue on * com.ctc.wstx.exc.WstxParsingException*: Expected a text token, got START_ELEMENT DOES NOT occur anymore. I made three observations as below and their respective queries: 1) When I return a binary optimized content as OMText, i am having to introduce an OMElement to contain it and hence the element myresult/ in the below excerpt of response string. Stub finds this element instead of text and throws the error *com.ctc.wstx.exc.WstxParsingException*: Expected a text token, got START_ELEMENT . Is there a way to avoid this additional element and attach optimized content directly? soapenv:Envelope xmlns:soapenv=http://www.w3.org/2003/05/soap-envelope soapenv:Body ns:mtomSampleResponse xmlns:ns=http://ws.apache.org/axis2;ns:return ns:myresult xop:Include href= cid:1.urn:uuid:49f67b152b605353d81233939394...@apache.org xmlns:xop= http://www.w3.org/2004/08/xop/include; //ns:myresult /ns:return/ns:mtomSampleResponse /soapenv:Body/soapenv:Envelope 2) As shown above, the binary optimized content is not set inline within myresult element, but as attachment referred by xop:include element. The stub again throws the error looking at xop:include element. The generated stub looks for text token for element of type xs:any defined in WSDL. How can I make the generated stub sensitive of xop:include element and look through its reference instead of looking for text content? 3) When MTOM is disabled, stub is able to construct the OMElement from the embedded text content. Is there a way to generate the stub being MTOM aware and able to handle xop:include element? Any suggestions/insight on this would be very much appreciated. Regards, Sathish C On Tue, Feb 10, 2009 at 3:06 AM, Martin Gainty mgai...@hotmail.comwrote: can you display the value of enableMtom in axis2.xml? parameter name=enableMTOM locked=falsetrue/parameter assuming you are sending XML Binary Optimised Packages *http://ws.apache.org/axis2/0_94/mtom-guide.html* ? Martin __ Disclaimer and confidentiality note Everything in this e-mail and any attachments relates to the official business of Sender. This transmission is of a confidential nature and Sender does not endorse distribution to any party other than intended recipient. Sender does not necessarily endorse content contained within this transmission. -- Date: Tue, 10 Feb 2009 07:32:11 +0530 Subject: Re: Issue with Axis OMElement From: keithgchap...@gmail.com To: axis-user@ws.apache.org Its hard to say what went wrong where from this. The reason it happened is because of some malformed XML. That's all I can tell you looking at the stack trace. Thanks, Keith. On Mon, Feb 9, 2009 at 11:43 PM, Chandra suriya pandian, Sathish (GE Infra, Energy) sathish.chan...@ge.com wrote: Thanks Keith. I am able to get through that error by changing the type to xs:any. But now i am getting the following exception under the same scenario: Caused by: *com.ctc.wstx.exc.WstxParsingException*: Expected a text token, got START_ELEMENT. at [row,col {unknown-source}]: [1,208] at com.ctc.wstx.sr.StreamScanner.constructWfcException(* StreamScanner.java:605*) at com.ctc.wstx.sr.StreamScanner.throwParseError(*StreamScanner.java:461* ) at com.ctc.wstx.sr.BasicStreamReader.getElementText(* BasicStreamReader.java:677*) at org.apache.axiom.om.impl.llom.OMStAXWrapper.getElementText(* OMStAXWrapper.java:899*) Any idea on the above problem. Regards, *Sathish Chandra*** -- *From:* keith chapman [mailto:keithgchap...@gmail.com] *Sent:* 09 February 2009 16:29 *To:* axis-user@ws.apache.org *Subject:* Re: Issue with Axis OMElement Hi, This is due to a bug in Axis2. Ideally an OMElement should map to xs:any and not xs:anyType in the WSDL. Therefore the workaround I could suggest is this, Save the WSDL and edit it to use xs:any instead of xs:anyType. Thanks, Keith. On Mon, Feb 9, 2009 at 8:30 PM, Chandra suriya pandian, Sathish (GE Infra, Energy) sathish.chan...@ge.com wrote: Hi, I have WebService enabled a service method that returns OMElement. The generated WSDL shows the element type as 'anyType'. I generated a stub
Re: Need Help On AXIS2
Also this might help, Hello World with Apache Axis2 [1] [1] http://wso2.org/library/95/ Thanks, Keith. On Tue, Feb 10, 2009 at 5:56 PM, shilpa.raghaven...@wipro.com wrote: Hi All, I am new to web service, i need to develop web service client and and services. Please guide me to go ahead and develop the same. Regards, Shilpa * Please do not print this email unless it is absolutely necessary. * The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended recipient, you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately and destroy all copies of this message and any attachments. WARNING: Computer viruses can be transmitted via email. The recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email. www.wipro.com -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Axis2 problem with invoking methodes through GET requests
Hi, In this case if you send a request into axis2 as http://localhost:8080/axis2/services/serviceName/makeCall?param0=SomeValueparam1=someValueparam2=someValue it should work just fine. Your schema contains just elements, From your initial post I thought they contained attributes as well. If they did then it would not work. Thanks, Keith. On Tue, Feb 10, 2009 at 5:21 PM, Valerly Provalov vprova...@five9.comwrote: Sure, xs:schema attributeFormDefault=qualified elementFormDefault=qualified targetNamespace=http://blabla.blabla.com; ... ... xs:element name=makeCall xs:complexType xs:sequence xs:element name=param0 type=xs:string/ xs:element name=param1 type=xs:long/ xs:element name=param2 type=xs:boolean/ /xs:sequence /xs:complexType /xs:element ... ... And operation is defined as: wsdl:operation name=makeCall wsdl:input message=ns:makeCallRequest wsaw:Action=urn:makeCall/ wsdl:output message=ns:makeCallResponse wsaw:Action=urn:makeCallResponse/ wsdl:fault message=ns:AgentBridgeException name=AgentBridgeException wsaw:Action=urn:makeCallException/ /wsdl:operation wsdl:message name=makeCallRequest wsdl:part name=parameters element=ns:makeCall/ /wsdl:message From: keith chapman [mailto:keithgchap...@gmail.com] Sent: Tuesday, February 10, 2009 1:57 PM To: axis-user@ws.apache.org Subject: Re: Axis2 problem with invoking methodes through GET requests Hi Valeriy, Could you post the XML Schema section that defines this message that your refering to. Thanks, Keith. On Tue, Feb 10, 2009 at 3:10 PM, Valerly Provalov vprova...@five9.com wrote: Hi all, I use skeleton generated by WSDL2Java. While parsing request, generated stubs checks attributes namespaces something like this: if ( reader.isStartElement() new javax.xml.namespace.QName(namespace, attribute_name).equals(reader.getName()) Everything works fine with generated stubs, but doesn't with GET requests. In this case, generated SOAP packet doesn't contain attributes namespace for method parameters. Is there any solution for this problem? Regards, Valeriy. -- This e-mail message is for the sole use of the intended recipient(s) and contains confidential and/or privileged information belonging to Five 9, Inc. or its customers or partners. Any unauthorized review, use, copying, disclosure or distribution of this message is strictly prohibited. If you are not an intended recipient of this message, please contact the sender by reply e-mail and destroy all soft and hard copies of the message and any attachments. Thank you for your cooperation. -- -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org -- This e-mail message is for the sole use of the intended recipient(s) and contains confidential and/or privileged information belonging to Five 9, Inc. or its customers or partners. Any unauthorized review, use, copying, disclosure or distribution of this message is strictly prohibited. If you are not an intended recipient of this message, please contact the sender by reply e-mail and destroy all soft and hard copies of the message and any attachments. Thank you for your cooperation. -- -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Issue with Axis OMElement
Hi, This is due to a bug in Axis2. Ideally an OMElement should map to xs:any and not xs:anyType in the WSDL. Therefore the workaround I could suggest is this, Save the WSDL and edit it to use xs:any instead of xs:anyType. Thanks, Keith. On Mon, Feb 9, 2009 at 8:30 PM, Chandra suriya pandian, Sathish (GE Infra, Energy) sathish.chan...@ge.com wrote: Hi, I have WebService enabled a service method that returns OMElement. The generated WSDL shows the element type as 'anyType'. I generated a stub from the WSDL and executed a client invoking the WebService method through the stub. The HTTP trace shows the response stream returned by WebService is correct. But in the client I am getting the following error: org.apache.axis2.databinding.ADBException: Any type element type has not been given at org.apache.axis2.databinding.utils.ConverterUtil.getAnyTypeObject(Conv erterUtil.java:1612) Exerpt from WSDL is: xs:element name=mtomSampleResponse xs:complexTypexs:sequence xs:element minOccurs=0 name=return nillable=true type=xs:anyType/ /xs:sequence/xs:complexType /xs:element Exerpt from the response stream is: ?xml version='1.0' encoding='UTF-8'? soapenv:Envelope xmlns:soapenv=http://www.w3.org/2003/05/soap-envelope;soapenv:Body ns:mtomSampleResponse xmlns:ns=http://ws.apache.org/axis2;ns:return returnxop:Include href=cid:1.urn:uuid:49f67b152b605353d81233939394...@apache.orgcid%3a1.urn%3auuid%3a49f67b152b605353d81233939394...@apache.org xmlns:xop=http://www.w3.org/2004/08/xop/include; //return /ns:return/ns:mtomSampleResponse /soapenv:Body/soapenv:Envelope Could you please kindly look into the same and let me know how I can overcome the above problem. Do I have to configure anything to map the response element of type 'anyType' anywhere to construct 'OMElement' back. I am using Axis 2-1.4.1. Regards, Sathish Chandra -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Issue with Axis OMElement
Its hard to say what went wrong where from this. The reason it happened is because of some malformed XML. That's all I can tell you looking at the stack trace. Thanks, Keith. On Mon, Feb 9, 2009 at 11:43 PM, Chandra suriya pandian, Sathish (GE Infra, Energy) sathish.chan...@ge.com wrote: Thanks Keith. I am able to get through that error by changing the type to xs:any. But now i am getting the following exception under the same scenario: Caused by: *com.ctc.wstx.exc.WstxParsingException*: Expected a text token, got START_ELEMENT. at [row,col {unknown-source}]: [1,208] at com.ctc.wstx.sr.StreamScanner.constructWfcException(* StreamScanner.java:605*) at com.ctc.wstx.sr.StreamScanner.throwParseError(*StreamScanner.java:461*) at com.ctc.wstx.sr.BasicStreamReader.getElementText(* BasicStreamReader.java:677*) at org.apache.axiom.om.impl.llom.OMStAXWrapper.getElementText(* OMStAXWrapper.java:899*) Any idea on the above problem. Regards, *Sathish Chandra*** -- *From:* keith chapman [mailto:keithgchap...@gmail.com] *Sent:* 09 February 2009 16:29 *To:* axis-user@ws.apache.org *Subject:* Re: Issue with Axis OMElement Hi, This is due to a bug in Axis2. Ideally an OMElement should map to xs:any and not xs:anyType in the WSDL. Therefore the workaround I could suggest is this, Save the WSDL and edit it to use xs:any instead of xs:anyType. Thanks, Keith. On Mon, Feb 9, 2009 at 8:30 PM, Chandra suriya pandian, Sathish (GE Infra, Energy) sathish.chan...@ge.com wrote: Hi, I have WebService enabled a service method that returns OMElement. The generated WSDL shows the element type as 'anyType'. I generated a stub from the WSDL and executed a client invoking the WebService method through the stub. The HTTP trace shows the response stream returned by WebService is correct. But in the client I am getting the following error: org.apache.axis2.databinding.ADBException: Any type element type has not been given at org.apache.axis2.databinding.utils.ConverterUtil.getAnyTypeObject(Conv erterUtil.java:1612) Exerpt from WSDL is: xs:element name=mtomSampleResponse xs:complexTypexs:sequence xs:element minOccurs=0 name=return nillable=true type=xs:anyType/ /xs:sequence/xs:complexType /xs:element Exerpt from the response stream is: ?xml version='1.0' encoding='UTF-8'? soapenv:Envelope xmlns:soapenv=http://www.w3.org/2003/05/soap-envelope;soapenv:Body ns:mtomSampleResponse xmlns:ns=http://ws.apache.org/axis2;ns:return returnxop:Include href=cid:1.urn:uuid:49f67b152b605353d81233939394...@apache.orgcid%3a1.urn%3auuid%3a49f67b152b605353d81233939394...@apache.org xmlns:xop=http://www.w3.org/2004/08/xop/include; //return /ns:return/ns:mtomSampleResponse /soapenv:Body/soapenv:Envelope Could you please kindly look into the same and let me know how I can overcome the above problem. Do I have to configure anything to map the response element of type 'anyType' anywhere to construct 'OMElement' back. I am using Axis 2-1.4.1. Regards, Sathish Chandra -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: InOnlyAxisOperation Error
Could you post your service archive file. Thanks, Keith. On Sat, Feb 7, 2009 at 2:41 PM, Sanjay Gupta sanjay.gu...@primal.comwrote: Agree but I don't see anything wrong with my services.xml. I am clueless on what would cause this issue. I looked at the client code as well and it's using RobustOutOnlyAxisOperation for the operation. Sanjay messageReceivers messageReceiver mep=http://www.w3.org/ns/wsdl/in-only; class=org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver/ messageReceiver mep=http://www.w3.org/ns/wsdl/in-out; class=org.apache.axis2.rpc.receivers.RPCMessageReceiver/ /messageReceivers -Original Message- From: keith chapman [mailto:keithgchap...@gmail.comkeithgchap...@gmail.com ] Sent: Fri 2/6/2009 7:40 PM To: axis-user@ws.apache.org Subject: Re: InOnlyAxisOperation Error From the stack trace it looks like an InOutMessageReceiver was used for an InOnly Operation. Thanks, Keith. On Fri, Feb 6, 2009 at 11:27 PM, Sanjay Gupta sanjay.gu...@primal.com wrote: Keith, Thanks for you reply and pointer. I tried your sugession but I am still getting the error. Here is the stack trace. Thanks Sanjay [ERROR] An access occurred that is not valid. java.lang.UnsupportedOperationException: An access occurred that is not valid. at org.apache.axis2.description.InOnlyAxisOperation.getMessage(InOnlyAxisOperation.java:109) at org.apache.axis2.util.MessageContextBuilder.createOutMessageContext(MessageContextBuilder.java:190) at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java :37) at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:100) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:176) at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275) at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:133) at javax.servlet.http.HttpServlet.service(HttpServlet.java:710) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) -Original Message- From: keith chapman [mailto:keithgchap...@gmail.comkeithgchap...@gmail.com keithgchap...@gmail.com ] Sent: Fri 2/6/2009 12:17 AM To: axis-user@ws.apache.org Subject: Re: InOnlyAxisOperation Error In your messageReceivers can you try using the following instead, messageReceivers messageReceiver mep=http://www.w3.org/ns/wsdl/in-only; class=org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver/ messageReceiver mep=http://www.w3.org/ns/wsdl/in-out; class=org.apache.axis2.rpc.receivers.RPCMessageReceiver/ /messageReceivers Thanks, Keith. On Fri, Feb 6, 2009 at 11:50 AM, Sanjay Gupta sanjay.gu...@primal.com wrote: Hi Keith, Here is my services.xml files. Thanks Sanjay serviceGroup service name=Provision scope=application targetNamespace= http://provision.ws.ccb.primalsw.com/; description Provision Service /description messageReceivers messageReceiver mep=http://www.w3.org/2004/08/wsdl/in-out; class=org.apache.axis2.rpc.receivers.RPCMessageReceiver/ messageReceiver mep=http://www.w3.org/2004/08/wsdl/in-only; class=org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver/ /messageReceivers schema schemaNamespace=http://provision.ws.ccb.primalsw.com/xsd / parameter name=ServiceClasscom.primalsw.ccb.ws.ProvisionHandler/parameter /service /serviceGroup -Original Message- From: keith chapman [mailto:keithgchap...@gmail.comkeithgchap...@gmail.com keithgchap...@gmail.com keithgchap...@gmail.com ] Sent: Thu 2/5/2009 10:01 PM To: axis-user@ws.apache.org Subject: Re: InOnlyAxisOperation Error Can you provide your service please. You haven't provided enough information to help you... Thanks, Keith. On Thu, Feb 5, 2009 at 10
Re: InOnlyAxisOperation Error
In your messageReceivers can you try using the following instead, messageReceivers messageReceiver mep=http://www.w3.org/ns/wsdl/in-only; class=org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver/ messageReceiver mep=http://www.w3.org/ns/wsdl/in-out; class=org.apache.axis2.rpc.receivers.RPCMessageReceiver/ /messageReceivers Thanks, Keith. On Fri, Feb 6, 2009 at 11:50 AM, Sanjay Gupta sanjay.gu...@primal.comwrote: Hi Keith, Here is my services.xml files. Thanks Sanjay serviceGroup service name=Provision scope=application targetNamespace= http://provision.ws.ccb.primalsw.com/; description Provision Service /description messageReceivers messageReceiver mep=http://www.w3.org/2004/08/wsdl/in-out; class=org.apache.axis2.rpc.receivers.RPCMessageReceiver/ messageReceiver mep=http://www.w3.org/2004/08/wsdl/in-only; class=org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver/ /messageReceivers schema schemaNamespace=http://provision.ws.ccb.primalsw.com/xsd/ parameter name=ServiceClasscom.primalsw.ccb.ws.ProvisionHandler/parameter /service /serviceGroup -Original Message- From: keith chapman [mailto:keithgchap...@gmail.comkeithgchap...@gmail.com ] Sent: Thu 2/5/2009 10:01 PM To: axis-user@ws.apache.org Subject: Re: InOnlyAxisOperation Error Can you provide your service please. You haven't provided enough information to help you... Thanks, Keith. On Thu, Feb 5, 2009 at 10:55 PM, Sanjay Gupta sanjay.gu...@primal.com wrote: Hi, I just have upgraded my axis 1.2 web services to 1.4.1 and getting error while calling a service which returns nothing(void). See the stack trace below. The doc mentions these four types of operations but I don't know which one to pick and how to set it during client generation. DoInOnly, NoParameters, TwoWayOneParameterEcho, and MultipleParametersAddItem I have both types of operations with return and without return. All my operations takes some kind of argument simple as well as some that takes customer objects. Any help will be greatly appreciated. Sanjay [ERROR] An access occurred that is not valid. java.lang.UnsupportedOperationException: An access occurred that is not valid. at org.apache.axis2.description.InOnlyAxisOperation.getMessage(InOnlyAxisOperation.java:109) at org.apache.axis2.util.MessageContextBuilder.createOutMessageContext(MessageContextBuilder.java:190) at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.jav :37) at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:100) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:176) at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275) at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:133) at javax.servlet.http.HttpServlet.service(HttpServlet.java:710) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:619) -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: InOnlyAxisOperation Error
From the stack trace it looks like an InOutMessageReceiver was used for an InOnly Operation. Thanks, Keith. On Fri, Feb 6, 2009 at 11:27 PM, Sanjay Gupta sanjay.gu...@primal.comwrote: Keith, Thanks for you reply and pointer. I tried your sugession but I am still getting the error. Here is the stack trace. Thanks Sanjay [ERROR] An access occurred that is not valid. java.lang.UnsupportedOperationException: An access occurred that is not valid. at org.apache.axis2.description.InOnlyAxisOperation.getMessage(InOnlyAxisOperation.java:109) at org.apache.axis2.util.MessageContextBuilder.createOutMessageContext(MessageContextBuilder.java:190) at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java :37) at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:100) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:176) at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275) at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:133) at javax.servlet.http.HttpServlet.service(HttpServlet.java:710) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) -Original Message- From: keith chapman [mailto:keithgchap...@gmail.comkeithgchap...@gmail.com ] Sent: Fri 2/6/2009 12:17 AM To: axis-user@ws.apache.org Subject: Re: InOnlyAxisOperation Error In your messageReceivers can you try using the following instead, messageReceivers messageReceiver mep=http://www.w3.org/ns/wsdl/in-only; class=org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver/ messageReceiver mep=http://www.w3.org/ns/wsdl/in-out; class=org.apache.axis2.rpc.receivers.RPCMessageReceiver/ /messageReceivers Thanks, Keith. On Fri, Feb 6, 2009 at 11:50 AM, Sanjay Gupta sanjay.gu...@primal.com wrote: Hi Keith, Here is my services.xml files. Thanks Sanjay serviceGroup service name=Provision scope=application targetNamespace= http://provision.ws.ccb.primalsw.com/; description Provision Service /description messageReceivers messageReceiver mep=http://www.w3.org/2004/08/wsdl/in-out; class=org.apache.axis2.rpc.receivers.RPCMessageReceiver/ messageReceiver mep=http://www.w3.org/2004/08/wsdl/in-only; class=org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver/ /messageReceivers schema schemaNamespace=http://provision.ws.ccb.primalsw.com/xsd/ parameter name=ServiceClasscom.primalsw.ccb.ws.ProvisionHandler/parameter /service /serviceGroup -Original Message- From: keith chapman [mailto:keithgchap...@gmail.comkeithgchap...@gmail.com keithgchap...@gmail.com ] Sent: Thu 2/5/2009 10:01 PM To: axis-user@ws.apache.org Subject: Re: InOnlyAxisOperation Error Can you provide your service please. You haven't provided enough information to help you... Thanks, Keith. On Thu, Feb 5, 2009 at 10:55 PM, Sanjay Gupta sanjay.gu...@primal.com wrote: Hi, I just have upgraded my axis 1.2 web services to 1.4.1 and getting error while calling a service which returns nothing(void). See the stack trace below. The doc mentions these four types of operations but I don't know which one to pick and how to set it during client generation. DoInOnly, NoParameters, TwoWayOneParameterEcho, and MultipleParametersAddItem I have both types of operations with return and without return. All my operations takes some kind of argument simple as well as some that takes customer objects. Any help will be greatly appreciated. Sanjay [ERROR] An access occurred that is not valid. java.lang.UnsupportedOperationException: An access occurred that is not valid. at org.apache.axis2.description.InOnlyAxisOperation.getMessage(InOnlyAxisOperation.java:109) at org.apache.axis2
Re: Regression in MessageContext#getEffectivePolicy
Added a comment to the JIRA. Thanks, Keith. On Fri, Feb 6, 2009 at 3:35 AM, Alexis Midon mi...@intalio.com wrote: may I ask your feedback on this issue please? https://issues.apache.org/jira/browse/AXIS2-4233 Alexis -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Fw: WSDL2java : Duplicate global type error
I'm not sure about your exact scenario. But Axis2 does not support soap-encoding Thanks, Keith. On Fri, Feb 6, 2009 at 7:15 AM, Guo Tianchong gu...@nec-as.nec.com.cnwrote: Can someone give some insight on this Guo - Original Message - From: Guo Tianchong gu...@nec-as.nec.com.cn To: axis-user axis-user@ws.apache.org Sent: Tuesday, February 03, 2009 6:14 PM Subject: WSDL2java : Duplicate global type error | Hi, all | | When I run WSDL2java in xmlbeans databinding. it's always report the following exception. | | Caused by: java.lang.RuntimeException: org.apache.xmlbeans.XmlException: project://local/soapenc.xsd:95:3: error: | sch-props-correct.2: Duplicate global type: Array@ http://schemas.xmlsoap.org/soap/encoding/ (Original global type found in file: | null) |at org.apache.axis2.xmlbeans.CodeGenerationUtility.processSchemas(CodeGenerationUtility.java:325) |... 8 more | Caused by: org.apache.xmlbeans.XmlException: project://local/soapenc.xsd:95:3: error: sch-props-correct.2: Duplicate global type: | ar...@http://schemas.xmlsoap.org/soap/encoding/ (Original global type found in file: null) |at org.apache.xmlbeans.impl.schema.SchemaTypeSystemCompiler.compile(SchemaTypeSystemCompiler.java:225) |at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) |at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) |at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) |at java.lang.reflect.Method.invoke(Method.java:324) |at org.apache.xmlbeans.XmlBeans.compileXmlBeans(XmlBeans.java:667) | | | The soapenc.xsd file has been downloaded from http://schemas.xmlsoap.org/soap/encoding/, and has been saved in localhost. | My applications's wsdl import the soapenc.xsd file as this: | | xs:import namespace=http://schemas.xmlsoap.org/soap/envelope/; | schemaLocation=./soapenc.xsd/ | | Can anyone tell me how to resolve this problem? | Thanks | | Guo | | | | | | | -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: InOnlyAxisOperation Error
Can you provide your service please. You haven't provided enough information to help you... Thanks, Keith. On Thu, Feb 5, 2009 at 10:55 PM, Sanjay Gupta sanjay.gu...@primal.comwrote: Hi, I just have upgraded my axis 1.2 web services to 1.4.1 and getting error while calling a service which returns nothing(void). See the stack trace below. The doc mentions these four types of operations but I don't know which one to pick and how to set it during client generation. DoInOnly, NoParameters, TwoWayOneParameterEcho, and MultipleParametersAddItem I have both types of operations with return and without return. All my operations takes some kind of argument simple as well as some that takes customer objects. Any help will be greatly appreciated. Sanjay [ERROR] An access occurred that is not valid. java.lang.UnsupportedOperationException: An access occurred that is not valid. at org.apache.axis2.description.InOnlyAxisOperation.getMessage(InOnlyAxisOperation.java:109) at org.apache.axis2.util.MessageContextBuilder.createOutMessageContext(MessageContextBuilder.java:190) at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.jav :37) at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:100) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:176) at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275) at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:133) at javax.servlet.http.HttpServlet.service(HttpServlet.java:710) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:619) -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Axis 1.4.1 POJO problem
Hi Chris, I'm afraid you do not have control over this. Your options could be to save the generated WSDL, edit it and pack it into the aar and make Axis2 use that WSDL instead of generating one. Thanks, Keith. On Wed, Feb 4, 2009 at 6:28 PM, Chris van Es chris.va...@openwave.comwrote: Hi, I'm recently new to Axis2 and I'm working on a pretty simple web service. I'm generating the wsdl from java classes inside a service aar file. The resulting wsdl contains minOccurs=0 for all of the operation parmaters, is there a way to specify minOccurs=1 or something similar to flag these as mandatory paramaters? Thanks. Chris. -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: WSDL2Java 3 ports 1 service
If you use the -ap option (All Ports) it will generate code for all ports. Thanks, Keith. On Tue, Feb 3, 2009 at 12:35 AM, Paul French paul.fre...@kirona.com wrote: The WSDL I have has one service defined with 3 ports (I use axis2 1.4.1) i.e. wsdl:service name=ServiceRequestConnectorService wsdl:port name=CommonConnectorSoapPort binding=tns:CommonConnectorSoapBinding soap:address location= http://localhost/ServiceRequestConnectorService/ServiceRequestConnectorService.asmx/http://localhost/ServiceRequestConnectorService/ServiceRequestConnectorService.asmx%22/ /wsdl:port wsdl:port name=ServiceRequestSoapPort binding=tns:ServiceRequestConnectorSoapBinding soap:address location= http://localhost/ServiceRequestConnectorService/ServiceRequestConnectorService.asmx/http://localhost/ServiceRequestConnectorService/ServiceRequestConnectorService.asmx%22/ /wsdl:port wsdl:port name=ServiceRequestUpdatesSoapPort binding=tns:ServiceRequestConnectorUpdatesSoapBinding soap:address location= http://localhost/ServiceRequestConnectorService/ServiceRequestConnectorService.asmx/http://localhost/ServiceRequestConnectorService/ServiceRequestConnectorService.asmx%22/ /wsdl:port /wsdl:service However when I generate a client stub using: WSDL2Java -u -uri MyWSDL -p MyPackage -d none -s ...I only get stub methods for one of the ports and not all three. Is there a reason for this? I would expect stub methods for all 3 ports? I can generate stub methods for each port in turn by removing the other 2 from the WSDL. Thanks, Paul -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: [Axis2 1.4.1] WSDL2Java difference Vs. Axis2 1.3
As Amila pointed out your WSDL is invalid, hence I don't think you can do anything about it other than changing your WSDL. Thanks, Keith. On Mon, Feb 2, 2009 at 6:33 AM, Thallapragada, Sowmi sow...@telenav.comwrote: Can anyone please help me with this issue? -- *From:* Thallapragada, Sowmi *Sent:* Thu 1/29/2009 10:42 AM *To:* axis-user@ws.apache.org *Subject:* [Axis2 1.4.1] WSDL2Java difference Vs. Axis2 1.3 I notice that in Axis2 1.3 the WSDL2Java allowed duplicate element definitions by renaming (by appending a number at the end), but 1.4.1 just generates methods with the same name. This is causing compilation errors causing backward compatibility issues. Eg. *xsd:element name=averageSpeed type=xsd:int /* xsd:element name=postedSpeed type=xsd:int / xsd:element name=slowestSpeed type=xsd:int / *xsd:element name=averageSpeed type=xsd:int /* In 1.3 this generated 2 methods called getAverageSpeed() getAverageSpeed0(), but in 1.4.1 it generates two methods called getAverageSpeed() and so the compilation fails. Can you confirm this? Is there an option I can pass to 1.4.1 WSDL2Java to allow the duplicate element definition? At this point, changing the schema to eliminate the duplicate element is not an option, so I am looking forward to your help. Regards, Sowmi -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Next release of Axis2 (1.4.2 ?)
We did an RC late last year, I guess Glen is already working on the release. Should be out soon. Thanks, Keith. On Fri, Jan 9, 2009 at 10:55 AM, Saurabh Garg garg.saur...@gmail.comwrote: Hi Keith, Any updates on the release? Any idea when the new version will be released. Thanks Saurabh On Mon, Nov 24, 2008 at 7:22 AM, keith chapman keithgchap...@gmail.comwrote: Hi Anders, We do not have any plans to do a 1.4.2 release. There were some discussions about a 1.5 release but that didn't materialize either cause most of the devs were busy. I guess the likely time for a release might be early next year (my personal opinion). Thanks, Keith. On Mon, Nov 24, 2008 at 8:18 PM, Anders Nordström storst...@hotmail.comwrote: Hi, We've a problem with the codegen (wsdl2java) in the 1.4.1 release. I can see that this is due to a known bug that's reported as fixed ( http://issues.apache.org/jira/browse/AXIS2-3827). So, if possible, I would like to know when in time the next release is scheduled for the 1.4.X branch. Many thanks in advance, Anders Nordström -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Packaging axis2 with a web application
Hi, This http://www.keith-chapman.org/2008/10/how-to-embed-axis2-into-existing-web.htmlshould help you. Thanks, Keith. On Fri, Jan 9, 2009 at 10:46 PM, Wishing Carebear wishing.careb...@gmail.com wrote: Thanks Sagara. I will try it out.Regards, Ravi On Fri, Jan 9, 2009 at 9:10 AM, Sagara Gunathunga sagara.gunathu...@gmail.com wrote: If you want to integrate Axis2 web service as a part of your web application you can follow these steps. 1.) Within the WEB-INF directory create directory called services , you can place web service's meta information files there (services.xml) . as a example for MyService web serivce can have following directory structure WEB-INF/services/MyService/META-INF/services.xml 2.) Add requred Axis 2 jar files to lib directory of your web application. 3.) Define the servlet mapping for AxisServlet in web .xml file as follows . servlet servlet-nameAxisServlet/servlet-name servlet-classorg.apache.axis2.transport.http.AxisServlet/servlet-class load-on-startup1/load-on-startup /servlet servlet-mapping servlet-nameAxisServlet/servlet-name url-pattern/services/*/url-pattern /servlet-mapping Also you can use Maven to package and testing (together with Jetty plug-in) . Hope this will help you. On Fri, Jan 9, 2009 at 9:58 PM, Wishing Carebear wishing.careb...@gmail.com wrote: Hello:I have a war created for my enterprise application. Need to embed axis2 with that. Could someone point me to the instructions need to be followed to achieve this if possible. Thanks for your time and help, Regards, Ravi -- Sagara Gunathunga Blog - ssagara.blogspot.com Web - http://sagaras.awardspace.com/ -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Parameter name as Param0
Hi Ravi, Please have a look at http://wso2.org/library/3743 That will give you the answer to your problem. Thanks, Keith. On Fri, Jan 9, 2009 at 6:37 AM, Wishing Carebear wishing.careb...@gmail.com wrote: Hello:I'm new to axis2. Trying the pojoguide samples of Weatherservice with a complextype Weather. When looking into the wsdl, noticed the Weather complexType has name as param0 as shown below: xs:element name=setWeather xs:complexType xs:sequence xs:element minOccurs=0 name=param0 nillable=true type=ax22:Weather/ /xs:sequence /xs:complexType /xs:element Wondering if it is possible to give a logicalname. Thanks, Ravi -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: List of free webservices
You can try mooshup.com You can register there for free and create your own services using JavaScript as well. Thanks, Keith. On Tue, Jan 6, 2009 at 11:04 PM, florin.botis fld...@yahoo.com wrote: Hello, I'm a student in computer science and I need some web services for some project. I don't know what kind of web services but I will chose one when I will have some options. Please tell me where I can find some nice/cool web services in the web. If you know some please send me the link of the homepage. Best regards, Florin Botis -- View this message in context: http://www.nabble.com/List-of-free-webservices-tp21315053p21315053.html Sent from the Axis - User mailing list archive at Nabble.com. -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Axis 1 in semi-RESTful way
Hi, The WSAS 2.3 release does not support exposing Axis1 services in a RESTfull manner. This was fixed very recenly and hence will be available in WSAS 3.0 which will be out in mid January. If you wanna try it out for the moment you could use the public beta [1] that we released last week. There will be another beta out before the end of the year. I will provide you with an example... Thanks, Keith. [1] http://ww2.wso2.org/~wsasbuilder/wsas_3_0/beta1/wso2wsas-SNAPSHOT.ziphttp://ww2.wso2.org/%7Ewsasbuilder/wsas_3_0/beta1/wso2wsas-SNAPSHOT.zip On Wed, Dec 17, 2008 at 12:44 PM, kat kat dokedu...@gmail.com wrote: On Fri, Dec 12, 2008 at 7:06 AM, keith chapman keithgchap...@gmail.comwrote: AFAIK Axis1 does not have support for REST, but Axis2 has rich support for REST. Therefore the following might be a good option for you. The WSO2 Web Services Application Server (WSO2 WSAS) [1] which is a complete runtime for web services built on top of Axis2 has a key feature that lets you expose Axis1 services as Axis2 services (It proxies requests for Axis1 services via Axis2. Therefore WSAS will accept a REST request and pass it on as a SOAP request to Axis1). We've just released a public beta of WSAS 3.0 [2]. (It is available under the Apache Liscense, hence you could download it and tryit out your self). Is there any example service of this proxy-ing Axis1 service via Axis2? I did download wsas2.3 binary and saw the e.g's TinyURL and Flickr.. Thanks, Keith. [1] http://wso2.org/projects/wsas/java [2] http://ww2.wso2.org/~wsasbuilder/wsas_3_0/beta1/wso2wsas-SNAPSHOT.ziphttp://ww2.wso2.org/%7Ewsasbuilder/wsas_3_0/beta1/wso2wsas-SNAPSHOT.zip On Tue, Dec 2, 2008 at 3:39 AM, kat kat dokedu...@gmail.com wrote: On Fri, Nov 28, 2008 at 9:07 PM, kat kat dokedu...@gmail.com wrote: On Fri, Nov 28, 2008 at 8:41 PM, keith chapman keithgchap...@gmail.com wrote: Can you explain why you have to use Axis2 a.4 and not Axis2 a.4.1? Is Axis 1.4 ( http://ws.apache.org/axis/ ) referred as Axis2 a.4? Well, I am planning to manage the VMWare ESX 3.5 virtual machines using the SOAP web service they provide. They have given the WSDL although the code generated by WSDL2JAVA class from Axis ( http://ws.apache.org/axis/ ) and Axis2 are pretty different. VMWare recommends development of client code accessing their service on Axis 1.4. Me being new to both and in the interest to develop the client faster I want to kick start with the client code examples they have given. They generate client stubs using WSDL2JAVA of Axis 1.4. I agree same is possible with AXIS2 as well and my original aim was to develop a service which will act as a REST server (other projects in my company follow REST) and SOAP client for VMWare with REST acting just as a interface between my webservice and other projects which use REST client in Python. So is the reason. On Sat, Nov 29, 2008 at 8:27 AM, kat kat dokedu...@gmail.com wrote: Hello All, For some reason I will have to use axis 1.4 and not axis2 1.4.1. So, can Axis 1, current release 1.4, be used in semi-RESTful way with just POST/GET methods since it supports WSDL 1.1 and WSDL 1.1, I believe, does support POST and GET methods? Any feedback on this? If I want a simple application/x-www-form-urlencoded HTTP POST to be performed on one service and equivalently a simple GET, can this be done with Axis 1.4. In brief REST style POST and GET with Axis 1.4. If yes, is there any example for this? -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: generateWSDL method in Axis2
Hi, With Axis2 you do not have such a callback method. But here is a workaround that you could use. Extend the AxisServlet and override the doGet method. In there check whether its a request for a WSDL and invoke your code for generating the WSDL. Thanks, Keith. On Thu, Dec 18, 2008 at 10:52 PM, Shah Asrani shahasr...@gmail.com wrote: In Axis1, I had implemented a call back method generateWSDL in my provider that extended the BasicProvider. In moving to Axis2, I have MessageReceiver that extends RawXMLInOutMessageReceiver. Which callback method is equivalent to generateWSDL method in Axis1. I need to generate WSDL with my custom code. Shah Asrani. -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: axis2, cxf, spring or Metro
Hi Shehan, Yes Axis2 does support JAX-WS. ADB does not have full schema support but it does support the 90% case very effectively. It supports the most widely used schema constructs and most of the time they are the only ones that you will be using. In case you need 100% schema support you could always use XMLBeans with Axis2. But ADB will give you the best performance. I am not too familiar with the other frameworks but here are some points about Axis2. Axis2 performs very well and also is very extensible. If you find something that Axis2 lacks out of the box there are several plug points that you can plug into and get your job done the way you want. Also there are quite a few companies around that provide enterprise support for Axis2. Thanks, Keith. On Thu, Dec 18, 2008 at 8:17 AM, Shehan Simen ssi...@itree.com.au wrote: Hi, We are evaluating different ws platforms to select the most suitable one for our big projects to come in future. I would like to know whether axis2 is supporting JAX-WS which is the preferred standard. Seems adb is still buggy and no fully schema support. Please advise us soon as this is a big decision to our company. -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Newbee to webservices
Hi, You could refer the quickstart guide [1] as well as the user guide [2]. The developer portal at WSO2 [3] also has quite a few good articles to get you started. You could fine a Hello World with Axis2 [4] there too. Thanks, Keith. [1] http://ws.apache.org/axis2/1_4_1/quickstartguide.html [2] http://ws.apache.org/axis2/1_4_1/userguide.html [3] http://wso2.org/ [4] http://wso2.org/library/95 On Wed, Dec 17, 2008 at 6:15 PM, Harikrishna Imadabattina harikrishna.imadabatt...@techendeavour.com wrote: Hi all, I am a new bee to the web services. And soon I am going to work in a project where Axis web services are my assignments. Can you guys please send me links where I can learn the core basics, tutorials of web services and axis? I already worked in web applications built using frameworks like struts, spring and j2ee. Thanks HariKrishna -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: How to Use JSON Objects in a Web Service
These links might help you. [1] and [2]. Thanks, Keith. [1] http://www.keith-chapman.org/2008/09/enabling-json-in-apache-axis2.html [2] http://www.keith-chapman.org/2008/09/invoking-mashups-using-json.html On Fri, Dec 12, 2008 at 5:27 PM, Jan Freitag jan_frei...@gmx.de wrote: Hi, I'm trying to implement a Web Service that gets as Request JSON Objects ( I try to write my own Location Proivder Service for the Google Gears Geolocation API). I want to write these JSOn Objects on a HTML page to display them and I want to create a response to the JSOn Request that is also a JSON Response. When you know how I can use JSON Objects out of the Request and respond also as JSOn let me know. I looked at the Yahoo example but it did not helped me enough. Greets. JF -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Can Axis 1.4 and Axis 2 1.2 co-exist on a single java application
Well you might wanna have a look at the WSO2 Web Services Application Server (WSO2 WSAS) [1]. It is built on top of Axis2 and a key feature of it is that you could deploy axis (Axis1) services on it. In there Axis2 is the primary engine and it creates a proxy services for Axis1 services. Thanks, Keith. [1] http://wso2.org/projects/wsas/java On Tue, Dec 9, 2008 at 7:45 PM, NKrishna nkrishnamur...@yahoo.com wrote: Hi, We have a Java application that has many clients for communicating with different web servers that are axis based. Currently all the client modules commonly uses axis 1.4. We're planning to add another client module that connects to a different web server. And this client we are developing with Axis 2. Will the JVM run without any hassles in case the app has both axis 1.4 jars and axis 2 jars bundled together. Please shed some light on this. Thanks, Krishna -- View this message in context: http://www.nabble.com/Can-Axis-1.4-and-Axis-2-1.2-co-exist-on-a-single-java-application-tp20915432p20915432.html Sent from the Axis - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: axis-user-unsubscr...@ws.apache.org For additional commands, e-mail: axis-user-h...@ws.apache.org -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Axis 1 in semi-RESTful way
AFAIK Axis1 does not have support for REST, but Axis2 has rich support for REST. Therefore the following might be a good option for you. The WSO2 Web Services Application Server (WSO2 WSAS) [1] which is a complete runtime for web services built on top of Axis2 has a key feature that lets you expose Axis1 services as Axis2 services (It proxies requests for Axis1 services via Axis2. Therefore WSAS will accept a REST request and pass it on as a SOAP request to Axis1). We've just released a public beta of WSAS 3.0 [2]. (It is available under the Apache Liscense, hence you could download it and tryit out your self). Thanks, Keith. [1] http://wso2.org/projects/wsas/java [2] http://ww2.wso2.org/~wsasbuilder/wsas_3_0/beta1/wso2wsas-SNAPSHOT.zip On Tue, Dec 2, 2008 at 3:39 AM, kat kat dokedu...@gmail.com wrote: On Fri, Nov 28, 2008 at 9:07 PM, kat kat dokedu...@gmail.com wrote: On Fri, Nov 28, 2008 at 8:41 PM, keith chapman keithgchap...@gmail.comwrote: Can you explain why you have to use Axis2 a.4 and not Axis2 a.4.1? Is Axis 1.4 ( http://ws.apache.org/axis/ ) referred as Axis2 a.4? Well, I am planning to manage the VMWare ESX 3.5 virtual machines using the SOAP web service they provide. They have given the WSDL although the code generated by WSDL2JAVA class from Axis ( http://ws.apache.org/axis/) and Axis2 are pretty different. VMWare recommends development of client code accessing their service on Axis 1.4. Me being new to both and in the interest to develop the client faster I want to kick start with the client code examples they have given. They generate client stubs using WSDL2JAVA of Axis 1.4. I agree same is possible with AXIS2 as well and my original aim was to develop a service which will act as a REST server (other projects in my company follow REST) and SOAP client for VMWare with REST acting just as a interface between my webservice and other projects which use REST client in Python. So is the reason. On Sat, Nov 29, 2008 at 8:27 AM, kat kat dokedu...@gmail.com wrote: Hello All, For some reason I will have to use axis 1.4 and not axis2 1.4.1. So, can Axis 1, current release 1.4, be used in semi-RESTful way with just POST/GET methods since it supports WSDL 1.1 and WSDL 1.1, I believe, does support POST and GET methods? Any feedback on this? If I want a simple application/x-www-form-urlencoded HTTP POST to be performed on one service and equivalently a simple GET, can this be done with Axis 1.4. In brief REST style POST and GET with Axis 1.4. If yes, is there any example for this? -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: override wsdl
Depends on your requirement. What sort of things do you wanna override? Thanks, Keith. On Fri, Dec 12, 2008 at 6:19 PM, Rodrigo Asensio rasen...@gmail.com wrote: Is there any way to override the wsdl generation ?? or should I do it manually ? thanks Rodrigo Asensio rasen...@gmail.com http://www.rodrigoasensio.com To err is human, but to really screw up requires the root password. -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Axis2 client - counting bytes sent and received
You should be able to do this easily by using a module. We do this to show statistics in the WSO2 Web Services Application Server (WSO2 WSAS) [1] which is built on top of Axis2. We have done this by using a module. Thanks, Keith. [1] http://wso2.org/projects/wsas On Fri, Dec 12, 2008 at 4:04 PM, Michele Mazzucco michele.mazzu...@ncl.ac.uk wrote: What about using a custom handler with a null output stream? Michele On 11 Dec 2008, at 23:42, Dave Meibusch wrote: Hi, I'm attempting to log statistics for my system, including the bytes sent/received for the components using Axis2 client code. Digging through the source of HttpClient, HttpMethod (latter is accessible from Axis2 MessageContext) has not been successful. The Content-Length HTTP header is not reliable (in particular with Chunking enabled). I'm not that hopeful, but perhaps someone has been down a similar path before me? thanks, Dave -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: [Axis2] Custom Soap Header
This blog post [1] shows how you could add a SOAP header to the response manually. Thanks, Keith. [1] http://www.keith-chapman.org/2008/10/axis2-setting-custom-http-headers-on.html On Wed, Dec 10, 2008 at 3:36 AM, Prasuna Lanka prasuna.la...@gmail.comwrote: Hello, Using Axis2-1.3. , I generated server side stuff from a 3rd party wsdl which contains definitions for custom SOAP Header. That is comprised of more than 3 User defined types. But in the generated source, i couldnt find any way to receive or send that custom SOAP header object except the request ojbject coming in which is in SOAP Body. I read some where to use wsdl2java -exsh true, to get the support for SOAP headers, but when i tried on command prompt, it shows only help options. Other than OM methods, is there any way that i can read/ the header object from the incoming request? Thanks in advance. Prasoona. -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: [Axis2] excludeOperations in services.xml problem
On Fri, Dec 12, 2008 at 5:40 AM, Deepal jayasinghe deep...@gmail.comwrote: hmmm, an excluded operation cannot be invoked, as far as I know from Axis 1.3. I will verify. Nope exclude operations will only exclude from WSDL, if that is not the case then something has broken. I dont think it should be that way. If an operation is excluded then we should not create an Axis operation for it. And I think that this is the current behaviour of Axis2. Thus a excluded operation cannot be invoked, it will not be displayed in the WSDL as well. Thanks, Keith. Deepal Nadir Amra Deepal Jayasinghe dee...@opensource.lk wrote on 12/11/2008 04:20:43 PM: [image removed] Re: [Axis2] excludeOperations in services.xml problem Deepal Jayasinghe to: axis-user 12/11/2008 04:21 PM Please respond to axis-user Hi, I have a webservices (written in Java) with several operations. I want to exclude couple of operations from that. I?ve used the excludeOperations tag in services.xml as shown below. I?m using Axis2 1.4. excludeOperations operationcopy/operation operationmove/operation /excludeOperations After restarting the app server when I see view the WSDL in the browser, I still see these 2 operations also I was able to access those operations from the Java client. Excluding operation mean, you do not display them in the WSDL but you can invoke them. Anyway please create a JIRA and attach your service. I will have a look at. Deepal Thanks Raghu -- Thank you! http://blogs.deepal.org -- Thank you! http://blogs.deepal.org -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: override wsdl
You might not be able to use the default RPCMessageReceivers with a custom WSDL though. You might need to do some tinkering to the WSDL to get it to work. Thanks, Keith. On Fri, Dec 12, 2008 at 10:00 PM, Rodrigo Asensio rasen...@gmail.comwrote: all right, thanks for the tip Rodrigo Asensio rasen...@gmail.com http://www.rodrigoasensio.com To err is human, but to really screw up requires the root password. On Fri, Dec 12, 2008 at 2:26 PM, Deepal Jayasinghe dee...@opensource.lk wrote: For that case, you have to put your wsdl into the service aar file. Then it will display yours rather than generating new one. Deepal wanna override the default nillable and maxOccurrences attrib at types Rodrigo Asensio rasen...@gmail.com http://www.rodrigoasensio.com To err is human, but to really screw up requires the root password. On Fri, Dec 12, 2008 at 1:06 PM, keith chapman keithgchap...@gmail.com wrote: Depends on your requirement. What sort of things do you wanna override? Thanks, Keith. On Fri, Dec 12, 2008 at 6:19 PM, Rodrigo Asensio rasen...@gmail.com wrote: Is there any way to override the wsdl generation ?? or should I do it manually ? thanks Rodrigo Asensio rasen...@gmail.com http://www.rodrigoasensio.com To err is human, but to really screw up requires the root password. -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org -- Thank you! http://blogs.deepal.org -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: How to Use JSON Objects in a Web Service
I'm not familiar with the Geolocation API. Could you post a sample request and response message (or JSON objects) for this scenario. No you do not need to start from WSDL. you could use Java code if you wanna use plain Axis2 or you could alternatively use the WSO2 Mashup Server [1] and write your service using JavaScript. Thanks, Keith. [1] http://wso2.org/projects/mashup On Fri, Dec 12, 2008 at 10:08 PM, Jan Freitag jan_frei...@gmx.de wrote: Hi, thank you for the answer. I've seen your blog before, but I don't know how to start. Should I start to implement my web service (with java) or should i write the wsdl file? I don't know where i can configure the rquest format for the JSOn object. The Geolocation Api tells me how the JSOn Request Objects look like, but I'm to new to Web Services and Axis and JSON to find where I can start. Perhaps you have som tips how I can start to implement the web Service? Do you know the Geolocation API ? Greets JF Am 12.12.2008 um 13:44 schrieb keith chapman: These links might help you. [1] and [2]. Thanks, Keith. [1] http://www.keith-chapman.org/2008/09/enabling-json-in-apache-axis2.html [2] http://www.keith-chapman.org/2008/09/invoking-mashups-using-json.html On Fri, Dec 12, 2008 at 5:27 PM, Jan Freitag jan_frei...@gmx.de wrote: Hi, I'm trying to implement a Web Service that gets as Request JSON Objects ( I try to write my own Location Proivder Service for the Google Gears Geolocation API). I want to write these JSOn Objects on a HTML page to display them and I want to create a response to the JSOn Request that is also a JSON Response. When you know how I can use JSON Objects out of the Request and respond also as JSOn let me know. I looked at the Yahoo example but it did not helped me enough. Greets. JF -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: override wsdl
Not if you have used transfer objects. If you want to use transfer objects with RPCMessageReceivers you will have to tinker your WSDL. This article [1] has some tips that could help with this regard. Thanks, Keith. [1] http://wso2.org/library/3726 On Fri, Dec 12, 2008 at 10:36 PM, Deepal Jayasinghe dee...@opensource.lkwrote: Well, if it is just changing the those attributes, I think he can still use the RPC MR. Deepal You might not be able to use the default RPCMessageReceivers with a custom WSDL though. You might need to do some tinkering to the WSDL to get it to work. Thanks, Keith. On Fri, Dec 12, 2008 at 10:00 PM, Rodrigo Asensio rasen...@gmail.com mailto:rasen...@gmail.com wrote: all right, thanks for the tip Rodrigo Asensio rasen...@gmail.com mailto:rasen...@gmail.com http://www.rodrigoasensio.com To err is human, but to really screw up requires the root password. On Fri, Dec 12, 2008 at 2:26 PM, Deepal Jayasinghe dee...@opensource.lk mailto:dee...@opensource.lk wrote: For that case, you have to put your wsdl into the service aar file. Then it will display yours rather than generating new one. Deepal wanna override the default nillable and maxOccurrences attrib at types Rodrigo Asensio rasen...@gmail.com mailto:rasen...@gmail.com http://www.rodrigoasensio.com To err is human, but to really screw up requires the root password. On Fri, Dec 12, 2008 at 1:06 PM, keith chapman keithgchap...@gmail.com mailto:keithgchap...@gmail.com wrote: Depends on your requirement. What sort of things do you wanna override? Thanks, Keith. On Fri, Dec 12, 2008 at 6:19 PM, Rodrigo Asensio rasen...@gmail.com mailto:rasen...@gmail.com wrote: Is there any way to override the wsdl generation ?? or should I do it manually ? thanks Rodrigo Asensio rasen...@gmail.com mailto:rasen...@gmail.com http://www.rodrigoasensio.com To err is human, but to really screw up requires the root password. -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org -- Thank you! http://blogs.deepal.org -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org -- Thank you! http://blogs.deepal.org -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: JSON - Badgerfish
) at org.apache.axis2.transport.http.server.AxisHttpService.doService (AxisHttpService.java:281) at org.apache.axis2.transport.http.server.AxisHttpService.handleRequest (AxisHttpService.java:187) at org.apache.axis2.transport.http.server.HttpServiceProcessor.run (HttpServiceProcessor.java:82) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1061) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor $Worker.run(ThreadPoolExecutor.java:575) at java.lang.Thread.run(Thread.java:595) [ERROR] namespace mismatch require http://converttemp.wsbeans.iseries/xsd found org.apache.axis2.AxisFault: namespace mismatch require http://converttemp.wsbeans.iseries/xsd found at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass (RPCUtil.java:177) at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic (RPCMessageReceiver.java:102) at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic (AbstractInOutMessageReceiver.java:40) at org.apache.axis2.receivers.AbstractMessageReceiver.receive (AbstractMessageReceiver.java:100) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:176) at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest (HTTPTransportUtils.java:275) at org.apache.axis2.transport.http.HTTPWorker.service (HTTPWorker.java:278) at org.apache.axis2.transport.http.server.AxisHttpService.doService (AxisHttpService.java:281) at org.apache.axis2.transport.http.server.AxisHttpService.handleRequest (AxisHttpService.java:187) at org.apache.axis2.transport.http.server.HttpServiceProcessor.run (HttpServiceProcessor.java:82) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1061) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor $Worker.run(ThreadPoolExecutor.java:575) at java.lang.Thread.run(Thread.java:595) Dan Hiebert - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Transport error: 405 Error: Method not allowed
Hi, Could you post the response as well. I guess u forgot to post it. I fixed an issue similar to this on the trunk, could confirm if u post the response. Thanks, Keith. On Thu, Dec 4, 2008 at 8:26 PM, Vikrama Sanjeeva [EMAIL PROTECTED]wrote: Hi list, I have created consumer stuff using axis2 WSDL2java and while trying to consume web service (running at .NET server), I get following exception: *** org.apache.axis2.AxisFault: Transport error: 405 Error: Method not allowed at org.apache.axis2.transport.http.HTTPSender.handleResponse( *HTTPSender.java:296*) at org.apache.axis2.transport.http.HTTPSender.sendViaPost( *HTTPSender.java:190*) here is the SOAP request/response: *** POST /service/SUBS.asmx HTTP/1.1 Host: xx.1xx.1xx.xx Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: http://IPCC/SUBS.wsdl/GetSubscribersListhttp://ipcc/SUBS.wsdl/GetSubscribersList ?xml version=1.0 encoding=utf-8? soap:Envelope xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xmlns:xsd=http://www.w3.org/2001/XMLSchema; xmlns:soap= http://schemas.xmlsoap.org/soap/envelope/; soap:Body GetSubscribersList xmlns=http://IPCC/SUBS.wsdlhttp://ipcc/SUBS.wsdl stringMobileNumberstring/stringMobileNumber /GetSubscribersList /soap:Body /soap:Envelope ** I also tried settings options property to both GET/POST: options.setProperty(Constants.Configuration. *HTTP_METHOD*,HTTPConstants.*HTTP_METHOD_POST*); Bye, Viki, -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: How to get the list of published services
We do this to display this deployed services in WSO2 WSAS [1] (which is built on top of Axis2). Specifically the class ServiceAdmin which can be found at [2]. Thanks, Keith. [1] http://wso2.org/projects/wsas [2] https://svn.wso2.org/repos/wso2/trunk/carbon-components/service-mgt/org.wso2.carbon.service.mgt/src/main/java/org/wso2/carbon/service/mgt On Fri, Nov 28, 2008 at 7:01 PM, javier [EMAIL PROTECTED] wrote: Hi everybody, I'm looking for a way to get the list of all published services on Axis2. I know there is a file on the repository/services directory where those services are enumerated but I would like to know if there is another way to get this list using an API for example. Please tell me if my request has sense or I need to use an additional technology as UDDI to do it. Thanks in advance. javier --- En date de : Ven 28.11.08, vhgupta [EMAIL PROTECTED] a écrit : De: vhgupta [EMAIL PROTECTED] Objet: Re: AXIS2-RAMPART - How to get userId in the webService Method À: axis-user@ws.apache.org Date: Vendredi 28 Novembre 2008, 13h55 Closing this post as Found the solution. Solution is simply to use following in your webservice method: MessageContext msgCtx = MessageContext.getCurrentMessageContext(); Vector results = (Vector) msgCtx.getProperty(WSHandlerConstants.RECV_RESULTS); String username = ((WSSecurityEngineResult)((WSHandlerResult)results.get(0)).getResults().get(0)).getPrincipal().getName(); Thanks vhgupta wrote: I have successfully integrated rampart axis2 and being able to authenticate multiple clients using rampart and java key stores. Problem is how do I get the userId in the web-service method so that I can implement the business logic using the already authenticated parameter rather then implementing new authentication logic. Please note that I am using axis2-1.3, rampart1.3, with jdk1.6, tomcat6.0.13 Thanks, Vishal -- View this message in context: http://www.nabble.com/AXIS2-RAMPART---How-to-get-userId-in-the-webService-Method-tp20733650p20733953.html Sent from the Axis - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Axis 1 in semi-RESTful way
Can you explain why you have to use Axis2 a.4 and not Axis2 a.4.1? Thanks, Keith. On Sat, Nov 29, 2008 at 8:27 AM, kat kat [EMAIL PROTECTED] wrote: Hello All, For some reason I will have to use axis 1.4 and not axis2 1.4.1. So, can Axis 1, current release 1.4, be used in semi-RESTful way with just POST/GET methods since it supports WSDL 1.1 and WSDL 1.1, I believe, does support POST and GET methods? If yes, is there any example for this? Thanks -=braindive -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Security Exception on Deployment
) at java.lang.ClassLoader.loadClass(ClassLoader.java:235) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1346) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1205) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:141) at org.codehaus.jam.internal.TigerDelegate.isTigerReflectionAvailable(TigerDelegate.java:118) at org.codehaus.jam.internal.reflect.ReflectTigerDelegate.create(ReflectTigerDelegate.java:66) at org.codehaus.jam.internal.reflect.ReflectClassBuilder.initDelegate(ReflectClassBuilder.java:148) at org.codehaus.jam.internal.reflect.ReflectClassBuilder.init(ReflectClassBuilder.java:56) at org.codehaus.jam.provider.CompositeJamClassBuilder.init(CompositeJamClassBuilder.java:45) at org.codehaus.jam.provider.JamServiceFactoryImpl.createBuilder(JamServiceFactoryImpl.java:178) at org.codehaus.jam.provider.JamServiceFactoryImpl.createClassLoader(JamServiceFactoryImpl.java:137) at org.codehaus.jam.provider.JamServiceFactoryImpl.createService(JamServiceFactoryImpl.java:78) at org.apache.ws.java2wsdl.SchemaGenerator.generateSchema(SchemaGenerator.java:134) at org.apache.axis2.deployment.util.Utils.fillAxisService(Utils.java:281) at org.apache.axis2.deployment.ServiceBuilder.populateService(ServiceBuilder.java:294) ... 37 more I am running sun jre 1.4.2_13-b06 on tomcat 5.5. From the stack trace I see there is a problem loading java.lang.annotation, which is part of jre 1.5. From the system requirements for axis jre 1.4 and above are supported. Why is there a reference to something in jre 1.5 when this should work with jre 1.4? How can I get this to work within my enviornment? Thanks -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Problem with large XML request using AXIS2 AXIOM [C1]
From the exception it looks like your XML was malformed (not having proper closing tags). There is no such an upper limit on the number of elements an AXIOM tree can have. Thanks, Keith. On Tue, Nov 25, 2008 at 4:09 PM, Vidhya MAHADEVAN [EMAIL PROTECTED] wrote: Hello, We are using AXIS2-1.4. We are building a request message with AXIOM. This message is quite large. It has about 280 elements in the request XML. We are bulding an OMElement with this XML. When we call the web service from the client, it fails at the client end with this message. com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character 't' (code 116) in prolog; expected '' However, if we reduce the number of elements to about 150, it works. Is there an upper limit on what the maximum number of elements an AXIOM tree can have ? If there is, then is there a workaround for this problem ? I have searched many places for similar issues. I could not find any solutions and therefore am raising it here. Appreciate any inputs from the group. Here is the client code : OMElement requestOMElement = buildOMElementFromXML(); //call web service Options options = new Options(); options.setTo(targetEPR); options.setProperty(org.apache.axis2.transport.http.HTTPConstants.CHUNKED ,Boolean.FALSE); //options.setTransportInProtocol(Constants.TRANSPORT_HTTPS); options.setAction(urn:saveBulkUpload); OMElement responseElement = null; try { ServiceClient sender = new ServiceClient(); sender.setOptions(options); sender.sendReceive(requestOMElement); } catch (AxisFault e) { sLogger.info(e); } private static OMElement buildOMElementFromXML() { //String filePath = c:/check_3_trans.xml; String filePath = C:/Copy of check_1.xml; OMElement documentElement = null; try { documentElement = new StAXOMBuilder(filePath).getDocumentElement(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (XMLStreamException e) { // TODO Auto-generated catch block e.printStackTrace(); } return documentElement; } Vidhya Mahadevan Technical Consultant - ITEC/CRS/ARC Societe Generale Global Solution Center Pvt. Ltd. 6th Floor, Inventor Building, ITPL, Whitefield Road, Bangalore 560 066, India Tel.: 91 80 28095 279 Mob.: 91 98453 28950 [EMAIL PROTECTED] www.socgensolutions.com * This message and any attachments (the message) are confidential, intended solely for the addressee(s), and may contain legally privileged information. Any unauthorised use or dissemination is prohibited. E-mails are susceptible to alteration. Neither SOCIETE GENERALE nor any of its subsidiaries or affiliates shall be liable for the message if altered, changed or falsified. Ce message et toutes les pieces jointes (ci-apres le message) sont confidentiels et susceptibles de contenir des informations couvertes par le secret professionnel. Ce message est etabli a l'intention exclusive de ses destinataires. Toute utilisation ou diffusion non autorisee est interdite. Tout message electronique est susceptible d'alteration. La SOCIETE GENERALE et ses filiales declinent toute responsabilite au titre de ce message s'il a ete altere, deforme ou falsifie. * - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: REST Service with AXIS
Hi Manish, I am the one who wrote that article, the original was published at http://wso2.org/library/3726. Nice to hear that you found it usefull. I have answered your questions inline, On Mon, Nov 17, 2008 at 10:11 PM, kat kat [EMAIL PROTECTED] wrote: I have actually followed Keith Chapman's article on webmonkey, which is here: http://www.webmonkey.com/tutorial/RESTful_Web_Services_with_Apache_Axis2 If I go with instrumenting REST using WSDL 2.0 , then my basic question referring to the above article is how can we actually make a POST (add new student) on /services/studentService/students or rather POST any basic or Complex Type. From the wsdl, addStudent(Student student) is the service method that will get called and it needs an argument which should be an object of class Student. In truly RESTful way, this should be a form POST and the data is url encoded or rather sent in application/x-www-form-urlencoded content type. If I have to say use this service with REST client in Python, I will have to know about the Student object ,is it? I am missing something here, can you explain? This actually depends on your your request message is defined. In the example I've provided I have used a POJO as the input to the service method, and when a POJO is used the default schema generated by Axis2 is as follows, xs:element name=addStudent xs:complexType xs:sequence xs:element minOccurs=0 name=student nillable=true type=ax21:Student/ /xs:sequence /xs:complexType /xs:element xs:complexType name=Student xs:sequence xs:element minOccurs=0 name=age type=xs:int/ xs:element minOccurs=0 name=name nillable=true type=xs:string/ xs:element maxOccurs=unbounded minOccurs=0 name=subjects nillable=true type=xs:string/ /xs:sequence /xs:complexType /xs:element With a schema like this you cannot use the contentType application/x-www-form-urlencoded (cause the server would not have enough information to reconstruct the message). If you want to use application/x-www-form- urlencoded then you could do this by modifying your service method as follows. addStudent(Sring name, int age, String [] subjects) . This would generate a schema similar to, xs:element name=addStudent xs:complexType xs:sequence xs:element minOccurs=0 name=age type=xs:int/ xs:element minOccurs=0 name=name nillable=true type=xs:string/ xs:element maxOccurs=unbounded minOccurs=0 name=subjects nillable=true type=xs:string/ /xs:sequence /xs:complexType /xs:element This makes it possible to do what you are trying. Please have a look at http://www.keith-chapman.org/2008/09/restfull-mashup-with-wsdl-20-wso2.htmlas well. There I have shown how you could play around with the WSO2 Mashup Server [1] (It runs on top of Axis2 and allows you to write service using JavaScript with ease) and experiment with stuff. You could use that to write services and validate your ideas in a flash. Hope this helps. Thanks, Keith. [1] http://wso2.org/projects/mashup On the other hand I could do POST, may not be ComplexType but of simple type if I have my service class returning an AXIOM OMElement object as well as taking OMElement object as an argument to the action methods but WSDL 2.0 way seems cleaner to me. Appreciate your feedback Thanks Manish -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: axis2.xml proxy setting problem
Hi, This should help http://www.keith-chapman.org/2008/10/how-to-run-axis2-behind-proxy-and.html Thanks, Keith. On Fri, Nov 14, 2008 at 2:20 PM, nafran shiraz [EMAIL PROTECTED] wrote: Hi All,I am running axis2 on top of tomcat and using a remote repository. I am working in a web proxy environment i changed the settings in axis2.xml as transportSender name=http class=org.apache.axis2.transport.http.CommonsHTTPTransportSender parameter name=PROTOCOLHTTP/1.1/parameter parameter name=PROXY proxy_host=cache.mrt.ac.lk proxy_port=3128 locked=trueanonymous:anonymous:anonymous/parameter referring to bellow linkhttp://ws.apache.org/axis2/1_0/http-transport.html http://ws.apache.org/axis2/1_0/http-transport.html but still my -- Nafran Shiraz Mobile: 0094-773867571 Home:0094-112717740 E-Mail: [EMAIL PROTECTED] [EMAIL PROTECTED] -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: [axis2] Huge .java generated by wsdl2java
Did you use the -u option when generating code? If not try using it this will unpack the code and create a java class for each datatype used. Thanks, Keith. On Tue, Oct 21, 2008 at 3:33 PM, Bartolomeo Nicolotti [EMAIL PROTECTED]wrote: Hi I'm using axis2 to consume document/literal web services, but one xsd for Galileo travel supplier is is 64227 lines long and the .java generated by wsdl2java is 12Mb and the corresponding Impl.java is also 34Mb long. The preblem is that when I must compile these .java it takes 10minutes. Does someone know why and how to make this task faster? Many thanks, Best Regards. Bartolomeo Nicolotti. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: [axis2] Huge .java generated by wsdl2java
Try using -u and see whether it bets any better. Thanks, Keith. On Tue, Oct 21, 2008 at 4:01 PM, Bartolomeo Nicolotti [EMAIL PROTECTED]wrote: No, I don't use -u option, the command is: wsdl2java.sh -uri Galileo.wsdl -S JavaSource/XMLSelectClient -s -sd -ssi -sp -d xmlbeans -o .. -ns2p [... namespace mappings] the xsd has the form xs:schema xmlns=http://webservices.galileo.com; xmlns:xs=http://www.w3.org/2001/XMLSchema; elementFormDefault=qualified version=1.0 id=SG2008A !-- xs:element name=PNRBFManagement_12 -- xs:annotation xs:documentation xml:lang=en /xs:documentation /xs:annotation xs:complexType name=PNRBFManagement_12Type xs:sequence ( xs:element name=InsertSegAfterMods minOccurs=0 maxOccurs=unbounded xs:annotation xs:documentation xml:lang=en /xs:documentation /xs:annotation xs:complexType xs:sequence xs:element name=SegNum maxOccurs=unbounded type=xs:int xs:annotation xs:documentation xml:lang=en Determines insertion point for next segment /xs:documentation /xs:annotation /xs:element /xs:sequence /xs:complexType /xs:element ) repeated for many elments and also nested /xs:sequence /xs:complexType /xs:schema Many thanks, Best Regards, B.Nicolotti Il giorno mar, 21/10/2008 alle 15.47 +0530, keith chapman ha scritto: Did you use the -u option when generating code? If not try using it this will unpack the code and create a java class for each datatype used. Thanks, Keith. On Tue, Oct 21, 2008 at 3:33 PM, Bartolomeo Nicolotti [EMAIL PROTECTED] wrote: Hi I'm using axis2 to consume document/literal web services, but one xsd for Galileo travel supplier is is 64227 lines long and the .java generated by wsdl2java is 12Mb and the corresponding Impl.java is also 34Mb long. The preblem is that when I must compile these .java it takes 10minutes. Does someone know why and how to make this task faster? Many thanks, Best Regards. Bartolomeo Nicolotti. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org -- Bartolomeo Nicolotti SIAP s.r.l.www.siapcn.it v.S.Albano 13 12049 Trinità(CN) Italy ph:+39 0172 652553 centralino: +39 0172 652511 fax: +39 0172 652519 -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: [axis2] Huge .java generated by wsdl2java
As an alternative to xmlbeans (which actually generates quite a lot of code) did you try using adb? Thanks, Keith. On Tue, Oct 21, 2008 at 4:37 PM, Bartolomeo Nicolotti [EMAIL PROTECTED]wrote: Hi, I've tried the -u option, with the command: wsdl2java.sh -uri XMLSelect_emea.wsdl -S JavaSource -R resources/XMLSelectClient -s -sd -u -ssi -sp -or -d xmlbeans -o ../.. but the result is the same, .java 12Mb and Impl.java 34Mb, I think because in the xsd there's only one named complexType. Many thanks, best regards, B.Nicolotti Il giorno mar, 21/10/2008 alle 12.31 +0200, Bartolomeo Nicolotti ha scritto: No, I don't use -u option, the command is: wsdl2java.sh -uri Galileo.wsdl -S JavaSource/XMLSelectClient -s -sd -ssi -sp -d xmlbeans -o .. -ns2p [... namespace mappings] the xsd has the form xs:schema xmlns=http://webservices.galileo.com; xmlns:xs=http://www.w3.org/2001/XMLSchema; elementFormDefault=qualified version=1.0 id=SG2008A !-- xs:element name=PNRBFManagement_12 -- xs:annotation xs:documentation xml:lang=en /xs:documentation /xs:annotation xs:complexType name=PNRBFManagement_12Type xs:sequence ( xs:element name=InsertSegAfterMods minOccurs=0 maxOccurs=unbounded xs:annotation xs:documentation xml:lang=en /xs:documentation /xs:annotation xs:complexType xs:sequence xs:element name=SegNum maxOccurs=unbounded type=xs:int xs:annotation xs:documentation xml:lang=en Determines insertion point for next segment /xs:documentation /xs:annotation /xs:element /xs:sequence /xs:complexType /xs:element ) repeated for many elments and also nested /xs:sequence /xs:complexType /xs:schema Many thanks, Best Regards, B.Nicolotti Il giorno mar, 21/10/2008 alle 15.47 +0530, keith chapman ha scritto: Did you use the -u option when generating code? If not try using it this will unpack the code and create a java class for each datatype used. Thanks, Keith. On Tue, Oct 21, 2008 at 3:33 PM, Bartolomeo Nicolotti [EMAIL PROTECTED] wrote: Hi I'm using axis2 to consume document/literal web services, but one xsd for Galileo travel supplier is is 64227 lines long and the .java generated by wsdl2java is 12Mb and the corresponding Impl.java is also 34Mb long. The preblem is that when I must compile these .java it takes 10minutes. Does someone know why and how to make this task faster? Many thanks, Best Regards. Bartolomeo Nicolotti. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org -- Bartolomeo Nicolotti SIAP s.r.l.www.siapcn.it v.S.Albano 13 12049 Trinità(CN) Italy ph:+39 0172 652553 centralino: +39 0172 652511 fax: +39 0172 652519 -- Bartolomeo Nicolotti SIAP s.r.l.www.siapcn.it v.S.Albano 13 12049 Trinità(CN) Italy ph:+39 0172 652553 centralino: +39 0172 652511 fax: +39 0172 652519 -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Custom WSDL file issue
I've answered this same question on a WSO2 forumhttp://wso2.org/forum/thread/4263#comment-7062here [1] Thanks, Keith. [1] http://wso2.org/forum/thread/4263#comment-7062 On Tue, Oct 21, 2008 at 9:20 AM, ERaj [EMAIL PROTECTED] wrote: I have added this too still the same issue - can anybody help here? import java.io.Serializable; public class Person implements Serializable{ . -- View this message in context: http://www.nabble.com/Custom-WSDL-file-issue-tp20082908p20083001.html Sent from the Axis - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: How to validate out going SOAP with Axis2?
consists of Travelex Limited, Ruesch International, Inc. and any subsidiaries, affiliates or related entities. Travelex can be found on the World Wide Web at www.travelex.com. Ruesch can be found on the World Wide Web at www.ruesch.com. -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Different address location in WSDL generated by Axis2
Hi, Since Axis2 1.4 we have the concept of dispatching request to the endpoints not just to the service. The reason is that security scenarios could be configured on a endpoint level and hence we need to know the exact endpoint a request is headed to in order to apply the security scenario accordingly. This is the reason you see the unique addresses for each endpoint and it takes the form serviceName.endpointName. Thanks, Keith. On Tue, Oct 21, 2008 at 7:44 PM, Chinmoy Chakraborty [EMAIL PROTECTED]wrote: Hi All, Following is my service portion of the WSDL of service ABS generated by Axis2 1.4. wsdl:service name=ABS wsdl:port name=ABSHttpSoap11Endpoint binding= ns:ABSSoap11Binding soap:address location= http://192.168.1.54:8080/services/ABS.ABSHttpSoap11Endpoint/ /wsdl:port wsdl:port name=ABSHttpSoap12Endpoint binding=ns:ABSSoap12Binding soap12:address location= http://192.168.1.54:8080/services/ABS.ABSHttpSoap12Endpoint/ /wsdl:port /wsdl:service Can anyone tell me why the location is like http://192.168.1.54:8080/services/ABS.ABSHttpSoap12Endpoint;. It should be http://192.168.1.54:8080/services/ABS only. Is there anything through which I can configure this behavior? Chinmoy -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Versioning a service deployed on Axis2
Hi Barry, I'd rather do it in this way. Deploy the two versions of the service as two separate services in Axis2. But would front Axis2 with a mediation engine, (you could use Apache Synapse or the WSO2 ESBhttp://wso2.org/projects/esb/java[1] which is built on Apache Synapse for this purpose). Synapse allows you to create what is called proxy services. So for this purpose I could create a proxy service on synapse and give that URL to my customers. Now depending on some content in the message (either a targetnamespace or a custom SOAP header or a HTTP Header, choice is yours) you could forward your message to the correct service. What your essentially doing here is hiding your service implementation details using synapse. Now your clients have a single URL to talk to. BTW synapse is lightweight and high has very good performance hence you need not worry about a drop in performance in this case. Thanks, Keith. [1] http://wso2.org/projects/esb/java On Tue, Oct 21, 2008 at 11:27 PM, Barry Alexander [EMAIL PROTECTED] wrote: Other than you're on your own advice, can you provide some guidelines or best practices regarding versioning? I thought this was an excellent question and currently of hot discussion with my co-workers. Some further questions: Should message version be embedded as part of SOAP headers using WS-Addressing standards? Or part of the wsdl? Can end point resolution be used during in-flow phases/handlers to route services of various versions end points? Should versioning be handled as part of a 'mediator'? On Tue, Oct 21, 2008 at 10:12 AM, Deepal jayasinghe [EMAIL PROTECTED]wrote: Howell, David wrote: Hi, Is there a recommended or commonly used approach to versioning a service (SOAP, doc/literal) that is to be deployed on Axis2? I'm trying to provide some means of not breaking consumers of an existing service if I have to deploy a new version that isn't backwards compatible. We're using AXIOM / no data binding for the service consumers and producers. Actually we had some discussion on how to do the version support in Axis2 (for service) , but we have not implement that. So only option is to manage service yourself. In a lot of cases I think I'll just want to move from deploying MyService_V1.aar to deploying MyService_V2.aar. V1 can stay deployed on the Axis2 server until the consumers have all moved on to V2. I've been looking at including version information in the target namespace specified in the WSDL for the service as a mechanism for consumers to specify which version of the service they want to use. I'm struggling to understand what my options are for deploying the old and new versions of my service. Specifically: - I don't seem to need to deploy MyService_V1 and MyService_V2 on different endpoint addresses, but - I assume I do have to give them different names in the service element of the wsdl. Is this correct? Finally, is there any way of using a single endpoint and service name that accepts requests from consumers that may have different XML namespaces depending on the version of the service they are using? Thanks, Dave -- Thank you! http://blogs.deepal.org - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: namespaces error
Looks like this is a bug in ADB indeed. Could you please raise a JIRA on this. Thanks, Keith. On Thu, Oct 16, 2008 at 8:34 PM, Harm de Laat [EMAIL PROTECTED] wrote: Thanks for your suggestion. However, what should we change to make our webservice client work? I already, tried changing the line you suggested to: s:element minOccurs=0 maxOccurs=1 name=Referentienummer type=s:string / or to: s:element minOccurs=0 maxOccurs=1 form=qualified name=Referentienummer type=s:string / But neither seem to work. Any suggestions? Thanks, Harm! On Thu, Oct 16, 2008 at 3:41 PM, Jeff Greif [EMAIL PROTECTED]wrote: The problem is form=unqualified in this line of the wsdl: s:element minOccurs=0 maxOccurs=1 form=unqualified name=Referentienummer type=s:string / That is, that element is supposed to be in the null namespace, not in ns3, but when axis/ADB sets the default namespace to a non-null value on its parent in the request, it does not unset it, using xmlns= on the Referntienummer element. Jeff On Thu, Oct 16, 2008 at 5:23 AM, Harm de Laat [EMAIL PROTECTED] wrote: In the mean time we have figured out that XMLBeans binding does not suffer from the same problems. So it seems it has something to do with ADB binding. On Wed, Oct 15, 2008 at 11:35 PM, Harm de Laat [EMAIL PROTECTED] wrote: Anybody has an idea on this. We're quite stuck on our project because of this. Kind regards, Harm de Laat On Tue, Oct 14, 2008 at 5:52 PM, Harm de Laat [EMAIL PROTECTED] wrote: The message generated by SOAPUI looks like: soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/; xmlns:mdc=http://webservices.sanoma-uitgevers.nl/AdvPortal/MDC/; xmlns:sch= http://schemas.sanoma-uitgevers.nl/AdvPortal/MDC/SchemaOrderInfoRequestWeb soapenv:Header/ soapenv:Body mdc:GetOrderDetails sch:OrderInfo Referentienummer135756.010/Referentienummer /sch:OrderInfo /mdc:GetOrderDetails /soapenv:Body /soapenv:Envelope This works out of the box. The difference seems to be that SOAPUI declares all namespaces in the Envelope tag, and Axis does not. Also the Axis generated message does not include a namespace(prefix) on the OrderInfo tag. No matter what I try the Axis generated client does not work. Any idea? Thanks for your help, Harm! On Tue, Oct 14, 2008 at 3:57 PM, keith chapman [EMAIL PROTECTED] wrote: Looking at the WSDL it looks like a correct message should be of the form. soapenv:Envelope xmlns:soapenv=http://www.w3.org/2003/05/soap-envelope; soapenv:Body ns3:GetOrderDetails xmlns:ns3=http://webservices.sanoma-uitgevers.nl/AdvPortal/MDC/; n2:OrderInfo xmlns:n2= http://schemas.sanoma-uitgevers.nl/AdvPortal/MDC/SchemaOrderInfoRequestWeb ns3:Referentienummer123456.123/ns3:Referentienummer /n2:OrderInfo /ns3:GetOrderDetails /soapenv:Body /soapenv:Envelope Could you a sample message generated using SOAPUI. Thanks, Keith. On Tue, Oct 14, 2008 at 6:52 PM, Harm de Laat [EMAIL PROTECTED] wrote: Here is the complete WSDL file (I just commented out the IP address for the service). What may be worth of mentioning is that I tried using SOAPUI, which worked instantly with this specific WSDL. ?xml version=1.0 encoding=utf-8? wsdl:definitions 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://webservices.sanoma-uitgevers.nl/AdvPortal/MDC/; xmlns:s1= http://schemas.sanoma-uitgevers.nl/AdvPortal/MDC/SchemaOrderInfoRequestWeb xmlns:s=http://www.w3.org/2001/XMLSchema; xmlns:s2= http://schemas.sanoma-uitgevers.nl/AdvPortal/MDC/SchemaOrderInfoResultWeb xmlns:soap12=http://schemas.xmlsoap.org/wsdl/soap12/; xmlns:http=http://schemas.xmlsoap.org/wsdl/http/; targetNamespace= http://webservices.sanoma-uitgevers.nl/AdvPortal/MDC/; xmlns:wsdl=http://schemas.xmlsoap.org/wsdl/; wsdl:documentation xmlns:wsdl=http://schemas.xmlsoap.org/wsdl/;BizTalk assembly Sanoma.BizTalk.AdvertentiePortal.MDC, Version=1.0.0.0, Culture=neutral, PublicKeyToken=8c063b3a22630ca9 published web service./wsdl:documentation wsdl:types s:schema elementFormDefault=qualified targetNamespace= http://webservices.sanoma-uitgevers.nl/AdvPortal/MDC/; s:import namespace= http://schemas.sanoma-uitgevers.nl/AdvPortal/MDC/SchemaOrderInfoRequestWeb / s:import namespace= http://schemas.sanoma-uitgevers.nl/AdvPortal/MDC/SchemaOrderInfoResultWeb / s:element name=GetOrderDetails s:complexType s:sequence s:element minOccurs=0 maxOccurs=1 ref=s1:OrderInfo / /s:sequence
Re: Difference between SOAP 1.1, SOAP 1.2 and SOAP HTTP
The SOAP 1.1 and SOAP 1.2 Bindings look identical but they have a small difference. They indicate to the client what SOAP version to use. If you generate a client specifying the endpoint it will generate it so that the message generated by the client would match the requirements specified in the corresponding binding. You could differentiate between SOAP 1.1 and 1.2 using the namespace. SOAP 1.2 namespace is http://www.w3.org/2003/05/soap-envelope while SOAP 1.1 namespace is http://schemas.xmlsoap.org/soap/envelope/ Thanks, Keith. On Wed, Oct 15, 2008 at 11:14 PM, Bai Shen [EMAIL PROTECTED] wrote: I created a java class, and then used Axis2 to create a web service from that. However, in the WSDL, it created three connections. A SOAP 1.1, a SOAP 1.2, and a SOAP HTTP. The SOAP 1.1 and SOAP 1.2 ones look identical to me. So I was wondering what the difference was. And is there a need for them? How does Axis2 know whether it's a 1.1 or 1.2? TIA. Bai Shen -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Out Only MEP and Rest support
/ClientService Service Description : ClientService Service Status : Active Available Operations notify -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Difference between SOAP 1.1, SOAP 1.2 and SOAP HTTP
Hi If you take this WSDL https://mooshup.com/services/system/version?wsdl[1] as an example, it has a SOAP 1.1 (system-version-SOAP11Binding) as well as a SOAP 1.2 (system-version-SOAP12Binding) Binding. If you further look into its content you will see that they use different namespaces, For e.g SOAP 1.1 Binding uses soap:binding transport= http://schemas.xmlsoap.org/soap/http; style=document/ whereas SOAP 1.2 Binding uses soap12:binding transport= http://schemas.xmlsoap.org/soap/http; style=document/ and the soap12 namespace is xmlns:soap12=http://schemas.xmlsoap.org/wsdl/soap12/; whereas the soap namespace is xmlns:soap=http://schemas.xmlsoap.org/wsdl/soap/;. As you can see there is a difference between the two. Thanks, Keith. [1] https://mooshup.com/services/system/version?wsdl On Thu, Oct 16, 2008 at 12:35 AM, Bai Shen [EMAIL PROTECTED] wrote: I looked at the wsdl again, and there's literally no difference. As far as I can tell, they both reference the same namespace. On Wed, Oct 15, 2008 at 2:00 PM, keith chapman [EMAIL PROTECTED]wrote: The SOAP 1.1 and SOAP 1.2 Bindings look identical but they have a small difference. They indicate to the client what SOAP version to use. If you generate a client specifying the endpoint it will generate it so that the message generated by the client would match the requirements specified in the corresponding binding. You could differentiate between SOAP 1.1 and 1.2 using the namespace. SOAP 1.2 namespace is http://www.w3.org/2003/05/soap-envelope while SOAP 1.1 namespace is http://schemas.xmlsoap.org/soap/envelope/ Thanks, Keith. On Wed, Oct 15, 2008 at 11:14 PM, Bai Shen [EMAIL PROTECTED]wrote: I created a java class, and then used Axis2 to create a web service from that. However, in the WSDL, it created three connections. A SOAP 1.1, a SOAP 1.2, and a SOAP HTTP. The SOAP 1.1 and SOAP 1.2 ones look identical to me. So I was wondering what the difference was. And is there a need for them? How does Axis2 know whether it's a 1.1 or 1.2? TIA. Bai Shen -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Difference between SOAP 1.1, SOAP 1.2 and SOAP HTTP
Hi If you take this WSDL https://mooshup.com/services/system/version?wsdl[1] as an example, it has a SOAP 1.1 (system-version-SOAP11Binding) as well as a SOAP 1.2 (system-version-SOAP12Binding) Binding. If you further look into its content you will see that they use different namespaces, For e.g SOAP 1.1 Binding uses soap:binding transport= http://schemas.xmlsoap.org/soap/http; style=document/ whereas SOAP 1.2 Binding uses soap12:binding transport= http://schemas.xmlsoap.org/soap/http; style=document/ and the soap12 namespace is xmlns:soap12=http://schemas.xmlsoap.org/wsdl/soap12/; whereas the soap namespace is xmlns:soap=http://schemas.xmlsoap.org/wsdl/soap/;. As you can see there is a difference between the two. Thanks, Keith. [1] https://mooshup.com/services/system/version?wsdl On Thu, Oct 16, 2008 at 12:35 AM, Bai Shen [EMAIL PROTECTED] wrote: I looked at the wsdl again, and there's literally no difference. As far as I can tell, they both reference the same namespace. On Wed, Oct 15, 2008 at 2:00 PM, keith chapman [EMAIL PROTECTED]wrote: The SOAP 1.1 and SOAP 1.2 Bindings look identical but they have a small difference. They indicate to the client what SOAP version to use. If you generate a client specifying the endpoint it will generate it so that the message generated by the client would match the requirements specified in the corresponding binding. You could differentiate between SOAP 1.1 and 1.2 using the namespace. SOAP 1.2 namespace is http://www.w3.org/2003/05/soap-envelope while SOAP 1.1 namespace is http://schemas.xmlsoap.org/soap/envelope/ Thanks, Keith. On Wed, Oct 15, 2008 at 11:14 PM, Bai Shen [EMAIL PROTECTED]wrote: I created a java class, and then used Axis2 to create a web service from that. However, in the WSDL, it created three connections. A SOAP 1.1, a SOAP 1.2, and a SOAP HTTP. The SOAP 1.1 and SOAP 1.2 ones look identical to me. So I was wondering what the difference was. And is there a need for them? How does Axis2 know whether it's a 1.1 or 1.2? TIA. Bai Shen -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: namespaces error
Could you post the schema section in the WSDL that describes GetOrderDetails. That would give us a clue to whats wrong. Thanks, Keith. On Tue, Oct 14, 2008 at 5:02 PM, Harm de Laat [EMAIL PROTECTED] wrote: Hi all, I'm having great difficulties calling a BizTalk webservice using axis2 (1.4.1) with ADB. I have generated my client using the following command: wsdl2java.sh -uri http://x.x.x.x/WebServices/AdvPortal/MDC/WebService_Sanoma_BizTalk_AdvertentiePortal_MDC.asmx?WSDL-p nl.kabisa.sanoma.webservices -d adb -s This generates all classes and using my (test)client I get to call the service. This generates the following SOAP message: soapenv:Envelope xmlns:soapenv=http://www.w3.org/2003/05/soap-envelope; soapenv:Body ns3:GetOrderDetails xmlns:ns3= http://webservices.sanoma-uitgevers.nl/AdvPortal/MDC/; OrderInfo xmlns= http://schemas.sanoma-uitgevers.nl/AdvPortal/MDC/SchemaOrderInfoRequestWeb Referentienummer123456.123/Referentienummer /OrderInfo /ns3:GetOrderDetails /soapenv:Body /soapenv:Envelope However, this call gets discarded by the BizTalk server. When I manually modify the soap message to the message below everything is fine. (Notice the ns2 namespace): soapenv:Envelope xmlns:soapenv=http://www.w3.org/2003/05/soap-envelope; soapenv:Body ns3:GetOrderDetails xmlns:ns3= http://webservices.sanoma-uitgevers.nl/AdvPortal/MDC/; n2:OrderInfo xmlns:n2= http://schemas.sanoma-uitgevers.nl/AdvPortal/MDC/SchemaOrderInfoRequestWeb Referentienummer123456.123/Referentienummer /n2:OrderInfo /ns3:GetOrderDetails /soapenv:Body /soapenv:Envelope What is going on here? Why is the NS2 namespace missing in the Axis2 generated Soap message? Also, what can I do to make this relatively simple client work? Kind regards, -- Harm de Laat Kabisa ICT -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: [Axis2]Help! How to create a SOAP service using Axis2 in my own webapp?
Thishttp://www.keith-chapman.org/2008/10/how-to-embed-axis2-into-existing-web.htmlshould give you a clue. I think thats what your looking for. Thanks, Keith. [1] http://www.keith-chapman.org/2008/10/how-to-embed-axis2-into-existing-web.html On Tue, Oct 14, 2008 at 6:21 AM, Tian Chi [EMAIL PROTECTED] wrote: Hi all, Sorry previous message is still in wrong text format, this is it again. I'm a newbie on using Axis2. After reading through most of the documents on this site, I still couldn't find the answer I need. I'd really apreciate it if someone can help me on this. All Axis2 documents I read on this site are to build new web services/client using Axis2. Currently I have already a big web app in use and I need to add a SOAP service to my web app using Axis2. Is that doable? If yes, what are the steps to make that happen? Is it possible to copy axis2.war into my servlet container (Resin) (both 'axis2' and 'myWebapp' directories under webapps directory) , create a SOAP service in the axis2 app and then forward the request (by deinfing the 'ServiceClass' parameter in services.xml?) to my own web app to handle some complicated database processes? It seems to me it's not doable. Please don't laugh at me if this question is too sily. If the previous approach is not possible. The only other apprach I can think of is to embed Axis2 in my own webapp. In that case, do I need to copy all the needed Axis2 jar files to my own web app in WEB-INF/lib directory? If so, what are the needed jar files for a SOAP service? Basically the SOAP service is receive data from my client, save it to database and respond to client with the results. There are many jar files in Axis2. I just hope to skip some unnecessary Axis2 jar files to avoid overhead since my own web app is already very big. Besides the Axis2 jar files, what else needs to be done to embed a SOAP service in my own web app? I'd really really appreciate it if someone gives me some guidance or shed some lights on this. Hope to hear from you soon. thank you very much, -tian - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: namespaces error
/AdvPortal/MDC/WebService_Sanoma_BizTalk_AdvertentiePortal_MDC/GetOrderDetails; style=document / wsdl:input soap:body use=literal / /wsdl:input wsdl:output soap:body use=literal / /wsdl:output /wsdl:operation /wsdl:binding wsdl:binding name=WebService_Sanoma_BizTalk_AdvertentiePortal_MDCSoap12 type=tns:WebService_Sanoma_BizTalk_AdvertentiePortal_MDCSoap soap12:binding transport=http://schemas.xmlsoap.org/soap/http; / wsdl:operation name=GetOrderDetails soap12:operation soapAction= http://webservices.sanoma-uitgevers.nl/AdvPortal/MDC/WebService_Sanoma_BizTalk_AdvertentiePortal_MDC/GetOrderDetails; style=document / wsdl:input soap12:body use=literal / /wsdl:input wsdl:output soap12:body use=literal / /wsdl:output /wsdl:operation /wsdl:binding wsdl:service name=WebService_Sanoma_BizTalk_AdvertentiePortal_MDC wsdl:documentation xmlns:wsdl=http://schemas.xmlsoap.org/wsdl/;BizTalk assembly Sanoma.BizTalk.AdvertentiePortal.MDC, Version=1.0.0.0, Culture=neutral, PublicKeyToken=8c063b3a22630ca9 published web service./wsdl:documentation wsdl:port name=WebService_Sanoma_BizTalk_AdvertentiePortal_MDCSoap binding=tns:WebService_Sanoma_BizTalk_AdvertentiePortal_MDCSoap soap:address location= http://x.x.x.x/WebServices/AdvPortal/MDC/WebService_Sanoma_BizTalk_AdvertentiePortal_MDC.asmx; / /wsdl:port wsdl:port name=WebService_Sanoma_BizTalk_AdvertentiePortal_MDCSoap12 binding=tns:WebService_Sanoma_BizTalk_AdvertentiePortal_MDCSoap12 soap12:address location= http://x.x.x.x/WebServices/AdvPortal/MDC/WebService_Sanoma_BizTalk_AdvertentiePortal_MDC.asmx; / /wsdl:port /wsdl:service /wsdl:definitions Thanks, Harm! On Tue, Oct 14, 2008 at 2:42 PM, keith chapman [EMAIL PROTECTED]wrote: Could you post the schema section in the WSDL that describes GetOrderDetails. That would give us a clue to whats wrong. Thanks, Keith. On Tue, Oct 14, 2008 at 5:02 PM, Harm de Laat [EMAIL PROTECTED] wrote: Hi all, I'm having great difficulties calling a BizTalk webservice using axis2 (1.4.1) with ADB. I have generated my client using the following command: wsdl2java.sh -uri http://x.x.x.x/WebServices/AdvPortal/MDC/WebService_Sanoma_BizTalk_AdvertentiePortal_MDC.asmx?WSDL-p nl.kabisa.sanoma.webservices -d adb -s This generates all classes and using my (test)client I get to call the service. This generates the following SOAP message: soapenv:Envelope xmlns:soapenv=http://www.w3.org/2003/05/soap-envelope soapenv:Body ns3:GetOrderDetails xmlns:ns3= http://webservices.sanoma-uitgevers.nl/AdvPortal/MDC/; OrderInfo xmlns= http://schemas.sanoma-uitgevers.nl/AdvPortal/MDC/SchemaOrderInfoRequestWeb Referentienummer123456.123/Referentienummer /OrderInfo /ns3:GetOrderDetails /soapenv:Body /soapenv:Envelope However, this call gets discarded by the BizTalk server. When I manually modify the soap message to the message below everything is fine. (Notice the ns2 namespace): soapenv:Envelope xmlns:soapenv=http://www.w3.org/2003/05/soap-envelope soapenv:Body ns3:GetOrderDetails xmlns:ns3= http://webservices.sanoma-uitgevers.nl/AdvPortal/MDC/; n2:OrderInfo xmlns:n2= http://schemas.sanoma-uitgevers.nl/AdvPortal/MDC/SchemaOrderInfoRequestWeb Referentienummer123456.123/Referentienummer /n2:OrderInfo /ns3:GetOrderDetails /soapenv:Body /soapenv:Envelope What is going on here? Why is the NS2 namespace missing in the Axis2 generated Soap message? Also, what can I do to make this relatively simple client work? Kind regards, -- Harm de Laat Kabisa ICT -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org -- Harm de Laat Kabisa ICT 't Inne 9c 6021 DA Budel KVK: 14090089 e : [EMAIL PROTECTED] w : http://www.kabisa.nl m : +31 (0)6 144 288 21 t : +31 (0)495 43 07 98 f : +31 (0)495 43 05 93 -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: ADBException: Unexpected subelement return
Hi Jeremy, It looks like your WSDL is RPC encoded (Which is not supported by axis2). How about simply deploying the calculator service as a POJO and then using the generated WSDL to write your client. That should work for you just fine (The WSDL generated by Axis2 by default is doc/lit). Thanks, Keith. On Tue, Oct 14, 2008 at 7:30 PM, Audino, Jeremy [EMAIL PROTECTED]wrote: I've got a Java Client and Server using the Calculator.wsdl supplies with the original Axis (not Axis2). I've generated Axis2 bindings using WSDL2Java. I also have a client and server written in C++ using gSoap. I have no issue with both the Java and C++ clients communicating with the C++ Server. I am however having an issue with the Java Client and the Java Server (using SimpleHTTPServer). I'm getting the following exception from the Client. The C++ client works fine with the Java Server. org.apache.axis2.AxisFault: org.apache.axis2.databinding.ADBException: Unexpected subelement return at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430) at localhost.axis.calculator.CalculatorStub.fromOM(Unknown Source) at localhost.axis.calculator.CalculatorStub.add(Unknown Source) at localhost.axis.calculator.CalculatorClient.main(Unknown Source) Caused by: java.lang.Exception: org.apache.axis2.databinding.ADBException: Unexpected subelement return at localhost.axis.calculator.AddResponse$Factory.parse(Unknown Source) ... 3 more Caused by: org.apache.axis2.databinding.ADBException: Unexpected subelement return ... 4 more I've attached the WSDL and Java Source…. Any help would be great. Best Regards, Jeremy Jeremy F. Audino Senior Software Development Engineer Philips Healthcare -- Nuclear Medicine Tel: 440-483-7444 E-mail: [EMAIL PROTECTED] -- The information contained in this message may be confidential and legally protected under applicable law. The message is intended solely for the addressee(s). If you are not the intended recipient, you are hereby notified that any use, forwarding, dissemination, or reproduction of this message is strictly prohibited and may be unlawful. If you are not the intended recipient, please contact the sender by return e-mail and destroy all copies of the original message. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Java2WSDL - support for inheritance
Hi, On Fri, Oct 10, 2008 at 2:14 AM, Saurabh Garg [EMAIL PROTECTED]wrote: Hi, I have the following: public interface XService extends IServiceA, B {} When I run Java2WSDL, only methods in XService are showing up in the WSDL. So does anyone know if: 1. Java2WSDL supports service interfaces extending other service interfaces? Not at the moment (The library we used for reflection did not support this. We will be getting rid of that library and should have this feature in the next release). The workaround for now will be to override the superclass method and simply call super. 2. Java2WSDL supports use of Generics? Not at the moment. Probably next release (Axis2 was supported on JDK 1.4 until release 1.4, we have moved to 1.5 now and hence should be able to support this) Thanks, Keith. Thanks Saurabh -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Defining Custom WSDL
Hi, message name=addRequest part name=number1 type=xs:int/ part name=number2 type=xs:int/ /message message name=addResponse part name=result type=xs:int/ /message portType name=glossaryAdd operation name=add input message=addRequest/ output message=addResponse/ /operation /portType Do not use the mechanism You've suggested (as above). If you do it this way it would be a RPC type binding and you will find it hard to describe the complex types, rather use a document approach as below, message name=addRequest part name=addRequest type=ws:addRequestType/ /message message name=addResponse part name=addResponse type=ws:addResponseType/ /message portType name=glossaryAdd operation name=add input message=addRequest/ output message=addResponse/ /operation /portType Now you could define addRequest and addResponse using XML schema. Take a look at this WSDL http://mooshup.com/services/keith/RESTDemo?wsdl [1] for such an example Thanks, Keith. [1] http://mooshup.com/services/keith/RESTDemo?wsdl On Fri, Oct 10, 2008 at 10:38 PM, Aegis1888 [EMAIL PROTECTED] wrote: Hi guys, My work has come to a bit of a stand still because I am trying to define a complex data type that I cannot seem to describe in a wsdl. I'm new to web services so I bear with me if this doesn't come out right. I'm using axis2 to build my web services, which adheres to the SOAP specification. Now, I want my SOAP service to be as simple to use as possible. If I understand correctly, SOAP is just transfer of xml data between two services. Axis2 uses many different implementations to achieve this transfer both on client and server side, e.g, ADB, XMLBeans, AXIOM. The last implementation, AXIOM, parses the XML directly. The other implementations encapsulate the processing of this XML and this allows you to create a web service without the need to directly parse the xml message for data. I am trying to build a service with a simple request but a more complicated response. For example; I want to send the parameters; accountNumber, name. And I want my service to response with the following parameters; product1{name,price},product2{name,price}In addition, I want to be able to send a response code so that every time I send a service call I am giving some indication as to whether or not the call was successful. For example if the call was successful than the response code is 0, if something went wrong the response code is 1. If I try to represent that using SOAP, I'm assuming the xml messages will look like this; request; request customer accountNumberS3/accountNumber nameSolid Snake/name /cusomer /request response; response responseCode1/responseCode product1 nameRation/name price1.00/price /product1 product2 nameCardboardBox/name price1.00/price /product2 /response Follow so far? I have created the service using AXIOM, by adding these nodes directly to the SOAP body content. I have all also created a client to deal with this service using AXIOM. The service has one method that accepts the SOAP message and parses it to get the data and the client does something similar. Now the problem I have is that I don't want my client to be dependent on any implementation. In other words I want the client to be able to use ADB or XML Beans or whatever, regardless of whether or not I use AXIOM. So I thought I would create a custom WSDL, with custom complex datatypes so that anyone generating code from the wsdl will be able send the correct parameters. Confused? Okay lets look at a simple request-response; request number123/number1 number224/number2 /request response result47/result /response This service will take two numbers as its argument and add them together. Now i'm guessing here, but i think the wsdl will look something like this; ... message name=addRequest part name=number1 type=xs:int/ part name=number2 type=xs:int/ /message message name=addResponse part name=result type=xs:int/ /message portType name=glossaryAdd operation name=add input message=addRequest/ output message=addResponse/ /operation /portType ... Given the above, assuming its all correct, my question is; how do I create the wsdl for the more complex example above? -- View this message in context: http://www.nabble.com/Defining-Custom-WSDL-tp19922365p19922365.html Sent from the Axis - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: [Axis2] Setting httpFrontendHostUrl programatically.
Get hold of the axisConfiguration and add the parameter, axisConfiguration.addParameter(httpFrontendHostUrl, ValueOfParam); Thanks, Keith. On Wed, Oct 8, 2008 at 11:57 PM, Raghu Upadhyayula [EMAIL PROTECTED] wrote: Hi, The property httpFrontendHostUrl which is defined in axis2.xml, can it be set programmatically? If so how? Thanks Raghu -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Programmatically Changing Http Method
Hi Adam, Have a look at this blog posthttp://www.keith-chapman.org/2008/10/axis2-setting-http-method-when-sending.html[1]. It shows how the HTTP method can be changed when sending a request. Thanks, Keith. [1] http://www.keith-chapman.org/2008/10/axis2-setting-http-method-when-sending.html On Wed, Oct 8, 2008 at 2:40 AM, Perry-Pelletier, Adam [EMAIL PROTECTED]wrote: My WS appears to connect via POST yet the service only responds to GET. The following exceptions fragment shows the result: Oct 7, 2008 1:59:56 PM org.apache.axis2.transport.http.HTTPSender sendViaPost INFO: Unable to sendViaPost to url[ http://teamtrack.qualcomm.com/gsoap/ttwebservices.wsdl?wsdl] org.apache.axis2.AxisFault: Transport error: 405 Error: Method Not Allowed at org.apache.axis2.transport.http.HTTPSender.handleResponse(* HTTPSender.java:296*) at org.apache.axis2.transport.http.HTTPSender.sendViaPost(* HTTPSender.java:190*) at org.apache.axis2.transport.http.HTTPSender.send(* HTTPSender.java:75*) at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons( *CommonsHTTPTransportSender.java:364*) at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke( *CommonsHTTPTransportSender.java:208*) at org.apache.axis2.engine.AxisEngine.send(*AxisEngine.java:448*) How can I programmatically change axis2 to send via GET? Thanks, Adam -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Error HTTP :unsupported content-encoding of 'identity' found
Yes. The code for transports is now in commons so its constitutes to a separate jar. This move was made after the 1,4 release. The next release will have the transports as a separate jar. Thanks, Keith. On Mon, Oct 6, 2008 at 10:02 PM, [EMAIL PROTECTED] wrote: I found out what is the issue here. I downloaded the nighlty build and here is what I found out. The nightly build is packaged differently than the release builds. In the release builds, it appears as if the 2 jars from the nightly builds axis2-kernel-SNAPSHOT.jar and axis2-transports-SNAPSHOT.jar are combined into one jar axis2-kernel-1.4.1.jar. Is that how it will be released out in the next release. *Sangita Pandit* *728 1606* -- *From:* keith chapman [mailto:[EMAIL PROTECTED] *Sent:* Friday, October 03, 2008 11:46 PM *To:* axis-user@ws.apache.org *Subject:* Re: Error HTTP :unsupported content-encoding of 'identity' found Hi, I tested this with the latest code and it does work. Make sure you use the new build on the client side and that the axis2-transports jar is in the classpath (The fix was actually done in the transports project). You can even try taking a checkout of the transports project [1] and building it your self. Thais is how my response looked, HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Content-Encoding: identity Content-Type: application/xml;charset=UTF-8 Transfer-Encoding: chunked Date: Sat, 04 Oct 2008 04:41:31 GMT 5c ns:echoResponse xmlns:ns=http://ws.apache.org/axis2; returnhi/return/ns:echoResponse 0 Axis2 was able to accept this response after the change. Thanks, Keith. [1] https://svn.apache.org/repos/asf/webservices/commons/trunk/modules/transport On Fri, Oct 3, 2008 at 8:47 PM, [EMAIL PROTECTED] wrote: here is the stace trace for the error org.apache.axis2.AxisFault: HTTP :unsupported content-encoding of 'identity' found at org.apache.axis2.transport.http.AbstractHTTPSender.processResponse( *AbstractHTTPSender.java:224*) at org.apache.axis2.transport.http.HTTPSender.handleResponse( *HTTPSender.java:265*) at org.apache.axis2.transport.http.HTTPSender.sendViaPost( *HTTPSender.java:190*) at org.apache.axis2.transport.http.HTTPSender.send( *HTTPSender.java:75*) at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons( *CommonsHTTPTransportSender.java:370*) at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke( *CommonsHTTPTransportSender.java:209*) at org.apache.axis2.engine.AxisEngine.send( *AxisEngine.java:432*) at org.apache.axis2.description.OutInAxisOperationClient.send( *OutInAxisOperation.java:401*) at org.apache.axis2.description.OutInAxisOperationClient.executeImpl( *OutInAxisOperation.java:228*) at org.apache.axis2.client.OperationClient.execute( *OperationClient.java:163* ) at com.dell.gmfs.backlog.cdas.OrderStatusServiceStub.extract( *OrderStatusServiceStub.java:816*) at ClientCDAS.multipleParameters( *ClientCDAS.java:36*) at ClientCDAS.main( *ClientCDAS.java:14*) *Sangita Pandit* *728 1606* -- *From:* [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] *Sent:* Friday, October 03, 2008 10:08 AM *To:* axis-user@ws.apache.org *Subject:* RE: Error HTTP :unsupported content-encoding of 'identity' found I fetched the nightly build today and tried it out to see if the exception has been resolved. However, I still see the same error. One thing to note is that the build logs for the nightly build had some test failures. Please can you let me know if the changes you did for solving this issue are in the nightly build. *Sangita Pandit* *728 1606* -- *From:* keith chapman [mailto:[EMAIL PROTECTED] *Sent:* Thursday, October 02, 2008 10:51 PM *To:* axis-user@ws.apache.org *Subject:* Re: Error HTTP :unsupported content-encoding of 'identity' found We run the Axis2 nightly build at WSO2 http://wso2.com as well. So you should be able to get it off the builder machine herehttp://builder.wso2.org/browse/AXIS2-NIGHTLY/latest/artifact[1] Thanks, Keith. [1] http://builder.wso2.org/browse/AXIS2-NIGHTLY/latest/artifact On Fri, Oct 3, 2008 at 8:52 AM, [EMAIL PROTECTED] wrote: what is the location of the nightly builds. I am getting access forbidden when I try to access http://ws.zones.apache.org/dist/axis2/nightly/ *Sangita Pandit* *728 1606* -- *From:* keith chapman [mailto:[EMAIL PROTECTED] *Sent:* Tuesday, September 30, 2008 8:04 PM *To:* axis-user@ws.apache.org *Subject:* Re: Error HTTP :unsupported content-encoding of 'identity' found We do not have a Axis2 release planned for any time soon. So you may have to get the nightly. Thanks, Keith. On Wed, Oct 1, 2008 at 1:33 AM, [EMAIL PROTECTED] wrote: How can I get the jar and when will this change be in the official release. *Sangita Pandit
Re: Tired of aar problem
On Tue, Oct 7, 2008 at 3:04 AM, ibrahim demir [EMAIL PROTECTED]wrote: Hi All; I have been trying to generate an aar file and deploy it within my war file.Everthing deploys well and when I use the axis2 web interface I can see my service. But when I send a request from .NET Wweb Service Studio: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. --- System.Web.Services.Protocols.SoapException: The ServiceClass object does not implement the required method in the following form: OMElement call(OMElement e) But my service class object is exactly the same..Before sending my wsdl file and aar I have a few questions 1-while creating my aar should I put the used libraries in a folder called lib You could, if you want to make those jars available to this service only. But this is not an absolute necessity if the classes are not in the lib of the service archive it will be picked off the main lib. 2- when I try to create my aar with Eclipse Axis Archiver Plugin but I can not load my class ..So can this a sign that there something wrong 3-My axis2 container is 1.3 verison and I write my services using 1.4.1 libs. Can this cause a problem. Should not be an issue. There are no API changes. Thanks, Keith. I can send more information if you are interested. Yours and thanks Ibrahim DEMIR CyberSoft Yazilim Muh. http://www.ibrahimdemir.org -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Please help - wsdl2Java doesn't compile valid WSDL
Cannot access the WSDL, I get a 404. But the wsdl2java stack trace clearly shows the error, [ERROR] There are no parts for fault message : { http://schemas.xmlsoap.org/wsdl/ }XYZFault Can you check the message element used for XYZFault. Looks like there is a problem with that. Thanks, Keith. On Tue, Oct 7, 2008 at 3:23 AM, Maik Hassel [EMAIL PROTECTED]wrote: Hello everyone, I have a given wsdl and need to generate a service for it. The WSDL passes several validators, but when invoking WSDL2java on it I get the exception below. The WSDL can be downloaded here: http://projects.simplyefficient.com:8085/cedric/service.wsdl Grateful for any help... ~ snip ~~ C:\axis2-1.4.1\bin\wsdl2java.bat -uri file:///C:/service.wsdl -p com.maik.test -d adb -s -wv 1.1 -ss -sd -ssi Using AXIS2_HOME: C:\Documents and Settings\Maik\My Documents\Development\axis2-1.4.1 Using JAVA_HOME:C:\Sun\SDK\jdk Retrieving document at 'file:///C:/service.wsdl'. [INFO] A SOAP port was not found - picking a random port! [ERROR] There are no parts for fault message : { http://schemas.xmlsoap.org/wsdl/ }XYZFault [ERROR] There are no parts for fault message : { http://schemas.xmlsoap.org/wsdl/ }XYZFault org.apache.axis2.description.WSDL11ToAxisServiceBuilder$WSDLProcessingException: There are no parts for fault message : { http://schemas.xmlsoap.org/wsdl/}XYZFauhttp://schemas.xmlsoap.org/wsdl/%7DXYZFau lt at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.addQNameRefer ence(WSDL11ToAxisServiceBuilder.java:1230) at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateBindi ng(WSDL11ToAxisServiceBuilder.java:776) at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateEndpo int(WSDL11ToAxisServiceBuilder.java:538) at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateEndpo ints(WSDL11ToAxisServiceBuilder.java:489) at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateServi ce(WSDL11ToAxisServiceBuilder.java:363) at org.apache.axis2.description.WSDL11ToAllAxisServicesBuilder.populateA llServices(WSDL11ToAllAxisServicesBuilder.java:107) at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.init(CodeGenerat ionEngine.java:147) at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35) at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:24) Exception in thread main org.apache.axis2.wsdl.codegen.CodeGenerationException : Error parsing WSDL at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.init(CodeGenerat ionEngine.java:153) at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35) at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:24) Caused by: org.apache.axis2.AxisFault: There are no parts for fault message : {h ttp://schemas.xmlsoap.org/wsdl/}XYZFaulthttp://schemas.xmlsoap.org/wsdl/%7DXYZFault at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430) at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateServi ce(WSDL11ToAxisServiceBuilder.java:397) at org.apache.axis2.description.WSDL11ToAllAxisServicesBuilder.populateA llServices(WSDL11ToAllAxisServicesBuilder.java:107) at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.init(CodeGenerat ionEngine.java:147) ... 2 more Caused by: org.apache.axis2.description.WSDL11ToAxisServiceBuilder$WSDLProcessin gException: There are no parts for fault message : { http://schemas.xmlsoap.org/w sdl/}XYZFault at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.addQNameRefer ence(WSDL11ToAxisServiceBuilder.java:1230) at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateBindi ng(WSDL11ToAxisServiceBuilder.java:776) at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateEndpo int(WSDL11ToAxisServiceBuilder.java:538) at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateEndpo ints(WSDL11ToAxisServiceBuilder.java:489) at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateServi ce(WSDL11ToAxisServiceBuilder.java:363) ... 4 more - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Rampart Username and signed certificate
] -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Re: Semantics
Hi Martin, Yes WSO2 WSAS http://wso2.org/projects/wsas[1] offers a complete run time for your web services which needs enterprise capabilities (and is available under the Apache License). I'm a bit confused on what you observed. If you look into the bin directory of WSAS http://wso2.org/projects/wsas you wouldn't see a script called axis2server.bat rather you would see wso2wsas.bat. May be you missed something? Thanks, Keith. [1] http://wso2.org/projects/wsas On Sun, Oct 5, 2008 at 1:52 AM, Martin Gainty [EMAIL PROTECTED] wrote: Afternoon Keith and Demetris I'm excited about having an all inclusive environment for configuring and deploying webservices to accomplish one is a feather in your cap to accomplish all capabilities deserves everyone's gratitude - Full support for WS-Security, WS-Trust, WS-Policy and WS-Secure Conversation and XKMS - EJB service provider support - Expose your EJBs as services - Axis1 backward compatibility - Deploy Axis1 services on WSAS Engage advanced WS-* protocols in front of legacy services - JMX Web interface based monitoring and management - WS-* REST support I d/l ed ths distro from http://wso2.org/projects/wsas and ran axis2server.bat and see this error [ERROR] The rampart-1.3.mar module, which is not valid, caused org.apache.rampart.Rampart org.apache.axis2.deployment.DeploymentException: org.apache.rampart.Rampart org.apache.axis2.deployment.DeploymentException: org.apache.rampart.Rampart at org.apache.axis2.AxisFault.init(AxisFault.java:259) at org.apache.axis2.deployment.DeploymentException.init(DeploymentExcepctio) //as a double-check I took a look at module.xml contained within rampart-1.3.mar module name=rampart class=org.apache.rampart.Rampart DescriptionThis module provides the WS-Security and WS-SecureConversation functionalities for Axis2, based on Apache WSS4J, Apache XML-Security and Apache Rahas implementations. /Description InFlow handler name=PolicyBasedSecurityInHandler class=org.apache.rampart.handler.RampartReceiver order phase=Security phaseFirst=true/ /handler handler name=SecurityInHandler class=org.apache.rampart.handler.WSDoAllReceiver order phase=Security/ /handler /InFlow OutFlow handler name=SecurityOutHandler class=org.apache.rampart.handler.WSDoAllSender order phase=Security/ /handler handler name=PolicyBasedSecurityOutHandler class=org.apache.rampart.handler.RampartSender order phase=Security phaseLast=true/ /handler /OutFlow supported-policy-namespaces namespaces= http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/ local-policy-assertions rampart:RampartConfig xmlns:rampart= http://ws.apache.org/rampart/policy; / /local-policy-assertions /module seems that none of the classes referenced in module.xml made it into the rampart-1.3.mar distro ? Is there a different mar we can use or are the classes contained in a separate jar? thanks! Martin __ Disclaimer and confidentiality note Everything in this e-mail and any attachments relates to the official business of Sender. This transmission is of a confidential nature and Sender does not endorse distribution to any party other than intended recipient. Sender does not necessarily endorse content contained within this transmission. Date: Sat, 4 Oct 2008 15:15:30 -0400 From: [EMAIL PROTECTED] Subject: Re: Semantics To: axis-user@ws.apache.org Hi Keith, that's awesome. So you are saying that the admin service of WSAS allows you to query services semantically? I guess you have answered my question, I will need to write a service to mediate such a procedure. Makes sense. Thanks keith chapman wrote: You could easily write a service (Sort of a admin service) that can be used to query details on services deployed. We do this in WSO2 WSAS (Web Services Application Server). http://wso2.org/projects/wsas Thanks, Keith. [1] http://wso2.org/projects/wsas On Sat, Oct 4, 2008 at 11:36 AM, Demetris G [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] wrote: Or put in a different way - is the only way to ask for a WSDL from an Axis / Axis2 engine to use a URL with the web service name appended to it? Is there anyone work or anything done on using semantic matching in Axis itself or should a separate tool be used? Thanks much Demetris G wrote: Hi all, is there an automated tool you know of that can semantically query Axis engines for services? Thanks - To unsubscribe, e-mail: [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED