cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Renuka Pathak <reshu...@gmail.com>
Subject Re: Error in java webservice client CXF: org.apache.cxf.interceptor.Fault: Could not send Message.
Date Tue, 06 Apr 2010 15:43:24 GMT
Thanks Dan & Glen.

I am able to hit the web service & get the response.

Appreciate your help.

Regards
Renuka

On Mon, Apr 5, 2010 at 5:10 PM, Renuka Pathak <reshu.dp@gmail.com> wrote:

> Hi Dan,
>
> Thanks for your reply. I used 2.2.7 now to generate client classes. when I
> run the client using BindingProvider, I get following error message
>
>
> "HTTP response '*401*: Unauthorized' invoking
> https://xxxxxxxx/services/sampleQuery* with NO authorization username
> configured in conduit*{urn:oasis:names:tc:DSML:2:0:core}dsmlSoapPort.http-conduit"
>
> I am not sure how to configure username in conduit. I am *not *using
> spring & I don't have any server certificate. I just have user name & pwd to
> access that webservice.  I am passing correct user name & password which I
> verified again.
>
> Please let me know how to resolve this problem.  I also did not understand
> this in your reply " ...*but since we are in streaming mode, not something
> we could support." *Does this mean it is not supported in CXF ? Pls help
> me understand.
>
> Thanks!!!
>
>
> On Mon, Apr 5, 2010 at 3:17 PM, Daniel Kulp <dkulp@apache.org> wrote:
>
>> On Monday 05 April 2010 2:17:40 pm Renuka Pathak wrote:
>> > Thanks Glen, Your tutorials are very useful. I tied using
>> BindingProvider
>> > in code but now I am getting following error.
>> >
>> > org.apache.cxf.interceptor.Fault: Could not send Message.
>> >       at
>> >
>> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInt
>> > erceptor.handleMessage(MessageSenderInterceptor.java:64) at
>> >
>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorCha
>> > in.java:243) at
>> > org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:484) at
>> > org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:310) at
>> > org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:262) at
>> > org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73) at
>> > org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
>> at
>> > $Proxy62.directoryRequest(Unknown Source)
>> >       at
>> >
>> main.java.gov.osc.enrollment.webserviceSFS.util.names.tc.dsml._2._0.core.D
>> >
>> smlSoap_DsmlSoapQuery_Client.main(DsmlSoap_DsmlSoapQuery_Client.java:116)
>> > *Caused by: java.net.HttpRetryException: cannot retry due to server
>> > authentication, in streaming mode*
>>
>> This usually means the username/password for basic auth was either not
>> provided correctly or was wrong.   Basically, the server sent back a
>> "please
>> authorize" request, but since we are in streaming mode, not something we
>> could
>> support.
>>
>> Definitely doublecheck the name/password combination and that it expects
>> basic
>> auth an not digest auth or similar.
>>
>> Dan
>>
>>
>> >
>> > On Mon, Apr 5, 2010 at 12:53 PM, Glen Mazza <glen.mazza@gmail.com>
>> wrote:
>> > > I believe you're mistaking the UsernameToken profile (message-level
>> > > security)
>> > > with the transport-layer security required by SSL.  (You shouldn't
>> need
>> > > to configure the USERNAME_TOKEN and PASSWORD constants that you're
>> > > using.) Perhaps my ssl[1] and soap client[2] tutorials can be of help
>> to
>> > > you.
>> > >
>> > > HTH,
>> > > Glen
>> > >
>> > > [1] http://www.jroller.com/gmazza/entry/setting_up_ssl_and_basic(Look at
>> > > #7
>> > > in particular for how transport-layer usernames and passwords are
>> given)
>> > >
>> > > [2] http://www.jroller.com/gmazza/entry/soap_client_tutorial
>> > >
>> > > Renuka Pathak wrote:
>> > > > Hi CXF Team,
>> > > >
>> > > > I am new to CXF.  I have generated java webservice client using CXF
>> > > > wsdl2Java utility. I am accesing a https webservice. I am setting
>> > > > Authentication parameters also in the java client. But when I run
>> the
>> > > > client
>> > > > I get org.apache.cxf.interceptor.Fault: Could not send Message
>> error.
>> > > > Could
>> > > > you please let me know what am I doing wrong? I am not sure if i am
>> > > > using authentication mechanism correct or not?  I am using a non
>> > > > spring plain java
>> > > > client.  Following is the code & error I am getting.
>> > > >
>> > > >  private static void setAuthParameter(DsmlSoap port)
>> > > >
>> > > >     {
>> > > >
>> > > >         org.apache.cxf.endpoint.Client client =
>> > > >
>> > > > org.apache.cxf.frontend.ClientProxy.getClient(port);
>> > > >
>> > > >
>> System.out.println("org.apache.cxf.frontend.ClientProxy.getClient(port)
>> > > > :" +
>> > > > org.apache.cxf.frontend.ClientProxy.getClient(port));
>> > > >
>> > > >         org.apache.cxf.endpoint.Endpoint cxfEndpoint =
>> > > >
>> > > > client.getEndpoint();
>> > > >
>> > > >         System.out.println("client.getEndPoint: " + cxfEndpoint);
>> > > >         Map<String,Object> outProps= new HashMap<String,Object>();
>> > >
>> > >
>> outProps.put(WSHandlerConstants.ACTION,WSHandlerConstants.USERNAME_TOKEN)
>> > > ;
>> > >
>> > > >         outProps.put(WSHandlerConstants.PASSWORD_TYPE,
>> > > >
>> > > > WSConstants.PW_TEXT);
>> > > >
>> > > >         outProps.put(WSHandlerConstants.USER, "endUser");
>> > >
>> > >
>> outProps.put(WSHandlerConstants.PW_CALLBACK_CLASS,ClientPasswordHandler.c
>> > > lass.getName());
>> > >
>> > > >         WSS4JOutInterceptor wssOut = new
>> WSS4JOutInterceptor(outProps);
>> > > >
>> > > >         cxfEndpoint.getOutInterceptors().add(wssOut);
>> > > >
>> > > >         cxfEndpoint.getOutInterceptors().add(new
>> SAAJOutInterceptor());
>> > > >
>> > > >     }
>> > > >
>> > > > Note: ClientPasswordHandler has also been impemented & I set the
>> > > > password in
>> > > > it.
>> > > >
>> > > > Client code which is calling above method:
>> > > >  public static void main(String args[]) throws Exception {
>> > > >
>> > > >         URL wsdlURL = DsmlQueryService.WSDL_LOCATION;
>> > > >         System.out.println("ds: " + wsdlURL);
>> > > >         if (args.length > 0) {
>> > > >
>> > > >             File wsdlFile = new File(args[0]);
>> > > >             try {
>> > > >
>> > > >                 if (wsdlFile.exists()) {
>> > > >
>> > > >                     wsdlURL = wsdlFile.toURI().toURL();
>> > > >
>> > > >                 } else {
>> > > >
>> > > >                     wsdlURL = new URL(args[0]);
>> > > >
>> > > >                 }
>> > > >
>> > > >             } catch (MalformedURLException e) {
>> > > >
>> > > >                 e.printStackTrace();
>> > > >
>> > > >             }
>> > > >
>> > > >         }
>> > > >
>> > > >         DsmlQueryService ss = new DsmlQueryService(wsdlURL,
>> > >
>> > > SERVICE_NAME);
>> > >
>> > > >         System.out.println("Invoking directoryRequest.22222.." +
>> ss);
>> > > >
>> > > >         DsmlSoap port = ss.getDsmlSoapQuery();
>> > > >
>> > > >         setAuthParameter(port);
>> > > >         DsmlSoap_DsmlSoapQuery_Client  dsmlClient = new
>> > > >
>> > > > DsmlSoap_DsmlSoapQuery_Client();
>> > > >
>> > > >      BatchRequest _directoryRequest_batchRequest=
>> > > >
>> > > > dsmlClient.callSearchRequest();
>> > > >
>> > > >       BatchResponse _directoryRequest__return =
>> > > >
>> > > > port.directoryRequest(_directoryRequest_batchRequest);
>> > > >
>> > > > }
>> > > >
>> > > > Error:
>> > > > Interceptor for
>> > >
>> > >
>> {urn:oasis:names:tc:DSML:2:0:core}dsmlQueryService#{urn:oasis:names:tc:DS
>> > > ML:2:0:core}directoryRequest
>> > >
>> > > > has thrown exception, unwinding now
>> > > > org.apache.cxf.interceptor.Fault: Could not send Message.
>> > > >
>> > > >     at
>> > >
>> > >
>> org.apache.cxf.interceptor.MessageSenderInterceptor.handleMessage(Message
>> > > SenderInterceptor.java:48)
>> > >
>> > > >     at
>> > >
>> > >
>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorCh
>> > > ain.java:243)
>> > >
>> > > >     at
>> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:484)
>> > > >     at
>> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:310)
>> > > >     at
>> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:262)
>> > > >     at
>> > >
>> > > org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
>> > >
>> > > >     at
>> > > >
>> > > >
>> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
>> > > >
>> > > >     at $Proxy62.directoryRequest(Unknown Source)
>> > > >     at
>> > >
>> > >
>> main.java.gov.osc.enrollment.webserviceSFS.client.DsmlSoap_DsmlSoapQuery_
>> > > Client.main(DsmlSoap_DsmlSoapQuery_Client.java:122)
>> > >
>> > > > Caused by: java.net.MalformedURLException: Invalid address. Endpoint
>> > > > address
>> > > > cannot be null.
>> > > >
>> > > >     at
>> > > >
>> > > >
>> org.apache.cxf.transport.http.HTTPConduit.getURL(HTTPConduit.java:833)
>> > > >
>> > > >     at
>> > > >
>> > > >
>> org.apache.cxf.transport.http.HTTPConduit.getURL(HTTPConduit.java:818)
>> > > >
>> > > >     at
>> > > >
>> > > >
>> org.apache.cxf.transport.http.HTTPConduit.setupURL(HTTPConduit.java:745
>> > > > )
>> > > >
>> > > >     at
>> > > >
>> > > >
>> org.apache.cxf.transport.http.HTTPConduit.prepare(HTTPConduit.java:494)
>> > > >
>> > > >     at
>> > >
>> > >
>> org.apache.cxf.interceptor.MessageSenderInterceptor.handleMessage(Message
>> > > SenderInterceptor.java:46)
>> > >
>> > >
>> > >
>> > > --
>> > > View this message in context:
>> > >
>> http://old.nabble.com/Error-in-java-webservice-client-CXF%3A-org.apache.c
>> > >
>> xf.interceptor.Fault%3A--Could-not-send-Message.-tp28141672p28142020.html
>> > > Sent from the cxf-user mailing list archive at Nabble.com.
>>
>> --
>> Daniel Kulp
>> dkulp@apache.org
>> http://dankulp.com/blog
>>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message