Hi Folks,
I'm trying to talk to a .net webservice that saves my context / login state
in a cookie.
Aparently a .net client would call: m_api.CookieContainer= new
CookieContainer()
The Axis1 equivalent is: call.setMaintainSession(true);
The Axis2 equivalent, which I'm using, is setManageSession(true) , as per
my code below:
DotNetWs stub= new DotNetWs(uri);
Options options = new Options();
options.setManageSession(true);
stub._getServiceClient().setOptions(options);
Authenticate auth = new Authenticate();
auth.setUsername("user");
auth.setPassword("pwd");
AuthenticateResponse resp= null;
try {
resp = stub.Authenticate(auth);
} catch (RemoteException e) {
e.printStackTrace();
}
When I get to the stub.Authenticate() call, these error messages are logged:
org.apache.axis2.description.ClientUtils inferOutTransport
SEVERE: Address information does not exist in the Endpoint Reference
(EPR).The system cannot infer the transport mechanism.
If I comment-out the call to setOptions() Authenticate() succeeds, but
subsequent calls to the webservice fail with "not authorized" ie it cant
remember my login state / context.
Maybe I need to do something to the WSDL?
Here's the endpoint part of it: ( Also see
http://test.myco.ws/imailtest_api.wsdl
http://test.myco.ws/imailtest_api.wsdl full WSDL if interested : ) :
<wsdl:service name="imail_api" >
http://www.nabble.com/file/p24862935/imailtest_api.wsdl imailtest_api.wsdl
<wsdl:port name="imail_apiSoap12" binding="tns:imail_apiSoap12">
<soap12:address
location="http://www.imailtest.co.uk/webservice/imail_api.asmx" />
</wsdl:port>
<wsdl:port name="imail_apiHttpPost" binding="tns:imail_apiHttpPost">
<http:address
location="http://www.imailtest.co.uk/webservice/imail_api.asmx" />
</wsdl:port>
</wsdl:service>
Any ideas please?
Regards, Mike.
--
View this message in context:
http://www.nabble.com/Consuming-a-.net-webservice-with-setManageSession-tp24862935p24862935.html
Sent from the Axis - User mailing list archive at Nabble.com.