Re: Simplesession, soap header not appeared in the generated wsdl
Hi Thanx for the answers. Now I use the possibility of the http session, cookies, and it works (also with axis-generated source). (Some parts have to be done till tomorrow, so it is ok now) But in the future I will consider your suggests (session handling of my own with uuid,..), because maybe we will use other than http as transport layer. Cheers, George On Wed, 15 Feb 2006 09:18:48 -0200, robert <[EMAIL PROTECTED]> wrote: For an alternative, as simple as it seems what I often employ is just generating an id myself using the uuid standard (java.util.uuid or commons-id) and passing that back after login. Or you can do something similar with an ejb stateful session bean. So I just have a wsdl template I use just about everywhere via 'extension base' . Axis2 also does generate an uuid which is sent in the soap message via ws-addressing. I still typically just handle it myself due to a wide range of integration issues and legacy support - though I am watching the ws-addressing standard as it evolves and all the soap engines support it. HTH, Robert http://www.braziloutsource.com/ Em Quarta 15 Fevereiro 2006 07:02, o Richard Gregory escreveu: Hi George, Unfortuntely, axis does not include the SimpleSessionHandler details in the wsdl it generates, or any header details as far as I know. Similarly, if you write the wsdl yourself (see the example wsdl below, with the relevant parts highlighted in *bold*) to include the required information, axis will not include it in any of the files created on the client side, although it will be incoprporated by any .Net clients genreated from the wsdl (so if your services will be used by .Net clients it is worth doing). For axis clients, the only option is to include elements in a hand written wsdl to state that the SimpleSessionHandler is needed on the client side. Cheers, Richard. targetNamespace="urn:wsdl.quickquery.ws.biors.biomax.de" xmlns="http://schemas.xmlsoap.org/wsdl/"; xmlns:apachesoap="http://xml.apache.org/xml-soap"; xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"; xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; xmlns:xsd="http://www.w3.org/2001/XMLSchema"; *xmlns:sess="http://xml.apache.org/axis/session"* xmlns:tns="urn:wsdl.quickquery.ws.biors.biomax.de" xmlns:types="urn:quickquery.ws.biors.biomax.de"> Web Service providing the ability to query a BioRS server with a simple text query. Clients invoking the service specify a simple text query with one or more search terms linked with "AND"/"OR" (or "&"/"|") operators, which will be evaluated against the BioRS server's AllText index (or indices). The result format to be returned and the list of databanks to be searched must be provided as parameters, and also optionally, a specific list of elements to be returned (only applicable to the ELEMENTS and XML_ELEMENTS result formats). Clients with their own username/password for the BioRS server may provide these parameters, or if these a provided as null a default "guest" username is used. A session is maintained between the client and service via SOAP Header session IDs, and each invocation of an operation of the service returns a successive entry from the set of entries matching the given query, or a message indicating that no entries matched the query. Each entry is returned with the number of the entry and the total number of entries matching the query, enabling clients to determine when all entries have been returned. In order to make use of the SOAP header session IDs, Apache Axis clients need only to include the org.apache.axis.handlers.SimpleSessionHandler in the request and response flows of the client. Clients based on proxy classes generated by Microsoft Visual Studio from this WSDL will have the code required to use the sessions in the proxy. * http://xml.apache.org/axis/session"; xmlns="http://www.w3.org/2001/XMLSchema";> * http://www.w3.org/2001/XMLSchema"; xmlns="urn:quickquery.ws.biors.biomax.de" targetNamespace="urn:quickquery.ws.biors.biomax.de"> Enumeration type giving the possible data formats in which entries can be retrieved from the BioRS server. FASTA - FASTA format. ENTRY - Complete entries in source formatting. XML_ENTRY - Complete entry in BioRS internal XML markup. XML_ELEMENTS - Entry separated into BioRS elements, formatted in BioRS internal XML. ELEMENTS - Entry separated into BioRS elements, no additional formatting.
Re: Simplesession, soap header not appeared in the generated wsdl
For an alternative, as simple as it seems what I often employ is just generating an id myself using the uuid standard (java.util.uuid or commons-id) and passing that back after login. Or you can do something similar with an ejb stateful session bean. So I just have a wsdl template I use just about everywhere via 'extension base' . Axis2 also does generate an uuid which is sent in the soap message via ws-addressing. I still typically just handle it myself due to a wide range of integration issues and legacy support - though I am watching the ws-addressing standard as it evolves and all the soap engines support it. HTH, Robert http://www.braziloutsource.com/ Em Quarta 15 Fevereiro 2006 07:02, o Richard Gregory escreveu: > Hi George, > > Unfortuntely, axis does not include the SimpleSessionHandler details in > the wsdl it generates, or any header details as far as I know. > Similarly, if you write the wsdl yourself (see the example wsdl below, > with the relevant parts highlighted in *bold*) to include the required > information, axis will not include it in any of the files created on the > client side, although it will be incoprporated by any .Net clients > genreated from the wsdl (so if your services will be used by .Net > clients it is worth doing). For axis clients, the only option is to > include elements in a hand written wsdl to state that > the SimpleSessionHandler is needed on the client side. > > Cheers, > > Richard. > > xmlns="http://schemas.xmlsoap.org/wsdl/"; > xmlns:apachesoap="http://xml.apache.org/xml-soap"; > xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"; > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; > xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; > xmlns:xsd="http://www.w3.org/2001/XMLSchema"; > *xmlns:sess="http://xml.apache.org/axis/session"* > xmlns:tns="urn:wsdl.quickquery.ws.biors.biomax.de" > xmlns:types="urn:quickquery.ws.biors.biomax.de"> > > Web Service providing the ability to query a BioRS > server with a simple text query. Clients invoking the service specify a > simple text query with one or more search terms linked with "AND"/"OR" (or > "&"/"|") operators, which will be evaluated against the BioRS server's > AllText index (or indices). The result format to be returned and the list > of databanks to be searched must be provided as parameters, and also > optionally, a specific list of elements to be returned (only applicable to > the ELEMENTS and XML_ELEMENTS result formats). Clients with their own > username/password for the BioRS server may provide these parameters, or if > these a provided as null a default "guest" username is used. A > session is maintained between the client and service via SOAP Header > session IDs, and each invocation of an operation of the service returns a > successive entry from the set of entries matching the given query, or a > message indicating that no entries matched the query. Each entry is > returned with the number of the entry and the total number of entries > matching the query, enabling clients to determine when all entries have > been returned. In order to make use of the SOAP header session IDs, Apache > Axis clients need only to include the > org.apache.axis.handlers.SimpleSessionHandler in the request and response > flows of the client. Clients based on proxy classes generated by Microsoft > Visual Studio from this WSDL will have the code required to use the > sessions in the proxy. > > > > * > > http://xml.apache.org/axis/session"; > xmlns="http://www.w3.org/2001/XMLSchema";> > > > > * > > http://www.w3.org/2001/XMLSchema"; > xmlns="urn:quickquery.ws.biors.biomax.de" > targetNamespace="urn:quickquery.ws.biors.biomax.de"> > > > > > > Enumeration type giving the possible > data formats in which entries can > be retrieved from the BioRS server. FASTA - FASTA format. > ENTRY - Complete entries in source > formatting. > XML_ENTRY - Complete entry in BioRS > internal XML markup. > XML_ELEMENTS - Entry separated into > BioRS elements, formatted in BioRS > internal XML. ELEMENTS - Entry separated into BioRS elements, no additional > formatting. > > > > > > > > > > > > The databanksType contains a list of > the names of the databank
Re: Simplesession, soap header not appeared in the generated wsdl
Hi George, Unfortuntely, axis does not include the SimpleSessionHandler details in the wsdl it generates, or any header details as far as I know. Similarly, if you write the wsdl yourself (see the example wsdl below, with the relevant parts highlighted in *bold*) to include the required information, axis will not include it in any of the files created on the client side, although it will be incoprporated by any .Net clients genreated from the wsdl (so if your services will be used by .Net clients it is worth doing). For axis clients, the only option is to include elements in a hand written wsdl to state that the SimpleSessionHandler is needed on the client side. Cheers, Richard. xmlns="http://schemas.xmlsoap.org/wsdl/"; xmlns:apachesoap="http://xml.apache.org/xml-soap"; xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"; xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; xmlns:xsd="http://www.w3.org/2001/XMLSchema"; *xmlns:sess="http://xml.apache.org/axis/session"* xmlns:tns="urn:wsdl.quickquery.ws.biors.biomax.de" xmlns:types="urn:quickquery.ws.biors.biomax.de"> Web Service providing the ability to query a BioRS server with a simple text query. Clients invoking the service specify a simple text query with one or more search terms linked with "AND"/"OR" (or "&"/"|") operators, which will be evaluated against the BioRS server's AllText index (or indices). The result format to be returned and the list of databanks to be searched must be provided as parameters, and also optionally, a specific list of elements to be returned (only applicable to the ELEMENTS and XML_ELEMENTS result formats). Clients with their own username/password for the BioRS server may provide these parameters, or if these a provided as null a default "guest" username is used. A session is maintained between the client and service via SOAP Header session IDs, and each invocation of an operation of the service returns a successive entry from the set of entries matching the given query, or a message indicating that no entries matched the query. Each entry is returned with the number of the entry and the total number of entries matching the query, enabling clients to determine when all entries have been returned. In order to make use of the SOAP header session IDs, Apache Axis clients need only to include the org.apache.axis.handlers.SimpleSessionHandler in the request and response flows of the client. Clients based on proxy classes generated by Microsoft Visual Studio from this WSDL will have the code required to use the sessions in the proxy. * http://xml.apache.org/axis/session"; xmlns="http://www.w3.org/2001/XMLSchema";> * http://www.w3.org/2001/XMLSchema"; xmlns="urn:quickquery.ws.biors.biomax.de" targetNamespace="urn:quickquery.ws.biors.biomax.de"> Enumeration type giving the possible data formats in which entries can be retrieved from the BioRS server. FASTA - FASTA format. ENTRY - Complete entries in source formatting. XML_ENTRY - Complete entry in BioRS internal XML markup. XML_ELEMENTS - Entry separated into BioRS elements, formatted in BioRS internal XML. ELEMENTS - Entry separated into BioRS elements, no additional formatting. The databanksType contains a list of the names of the databanks against which the given query should be executed. The requiredElementsType contains a list of the names of the elements required when ELEMENTS or XML_ELEMENTS formatType are specified, and only a subset of all elements are required. For other result formats, or when all elements are required null can be provided for this
Simplesession, soap header not appeared in the generated wsdl
Hi all, I'm now testing how axis works. I need a session based web service, so I test the SimpleSessionHandler. On the API site it is written, that it will check if there is a header with session_id, and when there is not, then is creates a session. So I would except that in the generated wsdl (http://localhost:8085/axis/services/ZagreusService?wsdl) there is a soap header info in the bining section. So now how will the WSDL2Java know how to create such a client that creates soap header with sessionid when sending request? Do I imagine the things in wrong way? Or Is it not a suggested way to create wsdl from the server classes, and then to create the client from wsdl? I deployed my test Servie on the server side with the following wsdd: http://xml.apache.org/axis/wsdd/"; xmlns:java="http://xml.apache.org/axis/wsdd/providers/java";> value="com.etixpert.zagreus.server.axis.TestService"/> I have the following TestService: package com.etixpert.zagreus.server.axis; import org.apache.axis.transport.http.*; import org.apache.axis.handlers.SimpleSessionHandler; import org.apache.axis.session.*; import org.apache.axis.*; import java.util.*; public class TestService { public String test(String param) { MessageContext context = MessageContext.getCurrentContext(); Session session = context.getSession(); .. } public void login(String user, String password) throws AxisFault { } } Generated wsdl. where there is no header info: http://localhost:8085/axis/services/ZagreusService"; xmlns:apachesoap="http://xml.apache.org/xml-soap"; xmlns:impl="http://localhost:8085/axis/services/ZagreusService"; xmlns:intf="http://localhost:8085/axis/services/ZagreusService"; xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"; xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"; xmlns:xsd="http://www.w3.org/2001/XMLSchema";> http://schemas.xmlsoap.org/soap/http"/> http://schemas.xmlsoap.org/soap/encoding/"; namespace="http://axis.server.zagreus.etixpert.com"; use="encoded"/> http://schemas.xmlsoap.org/soap/encoding/"; namespace="http://localhost:8085/axis/services/ZagreusService"; use="encoded"/> http://schemas.xmlsoap.org/soap/encoding/"; namespace="http://axis.server.zagreus.etixpert.com"; use="encoded"/> http://schemas.xmlsoap.org/soap/encoding/"; namespace="http://localhost:8085/axis/services/ZagreusService"; use="encoded"/> name="ZagreusService"> http://localhost:8085/axis/services/ZagreusService"/> Thnx for the help George -- Using Opera's revolutionary e-mail client: http://www.opera.com/m2/