I didnt finde out your problem, I suggest to use different methode to invoke
yor service (Look http://xfire.codehaus.org/Client+API).

I hope that will help.

2007/4/1, Youssef <[EMAIL PROTECTED]>:

 Hi..

Thank you for replying on my message.
I'm new to XFire, that's why I started with a small test : Java Swing GUI
to authenticate user, the authentification process is a webservice method
returning true.

Here's the code for the GUI ActionListener ( after removing all comments)

The following line is throwing the exception :
client1.invoke("login", *new* Object[]{username, password});

*public* *void* actionPerformed(ActionEvent e) {

*try* {

*if*(e.getSource() == loginBtn) {

*if*(usernameTxt.getText() != *null* && usernameTxt.getText().length() > 0
&& passwordTxt.getPassword() != *null* && passwordTxt.getPassword().length>0){

String username =
usernameTxt.getText();

String password =
*new* String(passwordTxt.getPassword());

*try*{

Client client1 =
*new* Client(*new* URL("
http://localhost:8080/ldap/services/ldapservice?WSDL";));

client1.invoke(
"login", *new* Object[]{username, password});

}
*catch*(Exception exp){

System.
*out*.println("exception "+exp);

}

}

*else*{

Boot.*showError*(
"Error", "Username and password cannot be blank", *new* Exception());

}

}

*else* *if*(e.getSource() == cancelBtn) {

usernameTxt.setText("");

passwordTxt.setText("");

}

}

*catch*(Exception ioExp) {

Boot.*showError*(
"Error", ioExp.getMessage(), ioExp);

}

}

and here is the Exception in Tomcat :

INFO: Server startup in 140094 ms

- No beans defined in application context [
org.codehaus.xfire.transport.http.XFireConfigurableServlet$GenericWebApplicationContextX
;hashCode=13787395]

- JDK 1.4+ collections available

- Commons Collections 3.x available

- Unable to locate MessageSource with name 'messageSource': using default
[EMAIL PROTECTED]

- Unable to locate ApplicationEventMulticaster with name
'applicationEventMulticaster': using default [
[EMAIL PROTECTED]
]

- Unable to locate ThemeSource with name 'themeSource': using default [
[EMAIL PROTECTED]

- Pre-instantiating singletons in factory [
org.springframework.beans.factory.support.DefaultListableBeanFactorydefining 
beans []; root of BeanFactory hierarchy]

- Loading XML bean definitions from class path resource
[org/codehaus/xfire/spring/xfire.xml]

- Loading XML bean definitions from class path resource
[org/codehaus/xfire/spring/customEditors.xml]

- Loading XML bean definitions from class path resource
[META-INF/xfire/services.xml]

- 11 beans defined in application context [
org.codehaus.xfire.spring.GenericApplicationContext;hashCode=24548764]

- Unable to locate MessageSource with name 'messageSource': using default
[EMAIL PROTECTED]

- Unable to locate ApplicationEventMulticaster with name
'applicationEventMulticaster': using default [
[EMAIL PROTECTED]
]

- Pre-instantiating singletons in factory [
org.springframework.beans.factory.support.DefaultListableBeanFactorydefining 
beans [
xfire.customEditorConfigurer,xfire.serviceRegistry,xfire.transportManager
,xfire,xfire.typeMappingRegistry,xfire.aegisBindingProvider,
xfire.serviceFactory,xfire.servletController,xfire.messageServiceFactory,
xfire.messageBindingProvider,org.codehaus.xfire.spring.ServiceBean];
parent:
org.springframework.beans.factory.support.DefaultListableBeanFactorydefining 
beans []; root of BeanFactory hierarchy]

- Exposing service with name {ldapservice}ldapservice

- Fault occurred!
*

java.lang.IllegalArgumentException
*: prefix cannot be "null" when creating a QName

at javax.xml.namespace.QName.<init>(Unknown Source)

at com.ctc.wstx.stax.ns.NsInputElementStack.getQName(
*NsInputElementStack.java:389*)

at com.ctc.wstx.stax.stream.BasicStreamReader.getName(
*BasicStreamReader.java:574*)

at org.codehaus.xfire.soap.handler.ReadHeadersHandler.checkForFault(
*ReadHeadersHandler.java:107*)

at org.codehaus.xfire.soap.handler.ReadHeadersHandler.invoke(
*ReadHeadersHandler.java:67*)

at org.codehaus.xfire.handler.HandlerPipeline.invoke(
*HandlerPipeline.java:131*)

at org.codehaus.xfire.transport.DefaultEndpoint.onReceive(
*DefaultEndpoint.java:64*)

at org.codehaus.xfire.transport.AbstractChannel.receive(
*AbstractChannel.java:38*)

at org.codehaus.xfire.transport.http.XFireServletController.invoke(
*XFireServletController.java:304*)

at org.codehaus.xfire.transport.http.XFireServletController.doService(
*XFireServletController.java:129*)

at org.codehaus.xfire.transport.http.XFireServlet.doPost(
*XFireServlet.java:116*)

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*)

at org.apache.catalina.valves.ErrorReportValve.invoke(
*ErrorReportValve.java:105*)

at org.apache.catalina.core.StandardEngineValve.invoke(
*StandardEngineValve.java:107*)

at org.apache.catalina.connector.CoyoteAdapter.service(
*CoyoteAdapter.java:148*)

at org.apache.coyote.http11.Http11Processor.process(
*Http11Processor.java:869*)

at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection
(
*Http11BaseProtocol.java:664*)

at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(
*PoolTcpEndpoint.java:527*)

at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(
*LeaderFollowerWorkerThread.java:80*)

at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
*ThreadPool.java:684*)

at java.lang.Thread.run(Unknown Source)

----- Original Message -----
*From:* Mohammed El ammaria <[EMAIL PROTECTED]>
*To:* [email protected]
*Sent:* Saturday, March 31, 2007 9:12 PM
*Subject:* Re: [xfire-user] prefix cannot be "null" when creating a QName

I'm not sur that your ptoblem is linked to xfire, wath 's in your
Console.java * line :156* ?

Mohamed

2007/3/31, Youssef Moussa < [EMAIL PROTECTED]>:
>
>  Hi..
>
>  Please help to resolve this error. I'm missing something but what I
> don't know. I'm using xfire 1.4, tomcat 5
>
>
>  When trying to invoke a method in my webservice, I'm getting the
> following error:
>
> SEVERE: Error:prefix cannot be "null" when creating a QName
>
> org.codehaus.xfire.fault.XFireFault: prefix cannot be "null" when
> creating a QName
>
> at org.codehaus.xfire.fault.Soap11FaultSerializer.readMessage(
> *Soap11FaultSerializer.java:31*
> )
>
> at org.codehaus.xfire.fault.SoapFaultSerializer.readMessage(
> *SoapFaultSerializer.java:28*)
>
> at org.codehaus.xfire.soap.handler.ReadHeadersHandler.checkForFault(
> *ReadHeadersHandler.java:111*)
>
> at org.codehaus.xfire.soap.handler.ReadHeadersHandler.invoke(
> *ReadHeadersHandler.java:67*)
>
> at org.codehaus.xfire.handler.HandlerPipeline.invoke(
> *HandlerPipeline.java:131*)
>
> at org.codehaus.xfire.client.Client.onReceive(
> *Client.java:387*)
>
> at org.codehaus.xfire.transport.http.HttpChannel.sendViaClient(
> *HttpChannel.java:139*)
>
> at org.codehaus.xfire.transport.http.HttpChannel.send(
> *HttpChannel.java:48*)
>
> at org.codehaus.xfire.handler.OutMessageSender.invoke(
> *OutMessageSender.java:26*)
>
> at org.codehaus.xfire.handler.HandlerPipeline.invoke(
> *HandlerPipeline.java:131*)
>
> at org.codehaus.xfire.client.Invocation.invoke(
> *Invocation.java:75*)
>
> at org.codehaus.xfire.client.Client.invoke(
> *Client.java:335*)
>
> at org.codehaus.xfire.client.Client.invoke(
> *Client.java:349*)
>
> at com.imetrik.ims.console.Console.actionPerformed(
> *Console.java:156*)
>
>
>
> client:
>
> Client client1 =
> *new* Client(*new* URL("http://localhost:8080/ldap/services/ldapservice?WSDL
> "));
>
> client1.invoke(
> "login", *new* Object[]{username, password});
>
>
>
>
>
> It is a simple service to authenticate users.
>
>
>
> java code:
> *
>
> package
> *com.imetrik.ims.webservice;
>
> *
>
> public
> **interface* LdapService{
>
> *public* *boolean* login(String username, String password);
>
> }
>
> the implementation :
>
> *public* *boolean* login(String username, String password) {
>
> // *TODO* Auto-generated method stub
>
> *boolean* success = *false*;
>
> *if*(username != *null* && username.length() > 0 && password != *null*&&
> password.length() > 0){
>
> *if*(username.equalsIgnoreCase("test") && password.equalsIgnoreCase(
> "test"))
>
> success =
> *true*;
>
> System.out.println(
> "inside login username = "+username +" password = " + password );
>
> }
>
> *return* success;
>
> }
>
>  my service.xml:
>
> <beans
> xmlns=" http://xfire.codehaus.org/config/1.0";>
>
> <service>
>
> <name>ldapservice</name>
>
> <namespace>ldapservice</namespace>
>
> <serviceClass>com.imetrik.ims.webservice.LdapService</serviceClass>
>
> <implementationClass>com.imetrik.ims.webservice.LdapServiceImpl
> </implementationClass>
>
> </service>
>
> </beans>
>
> Thank you in advance
>



--
Mohammed El AMMARIA




--
Mohammed El AMMARIA

Reply via email to