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.DefaultListableBeanFactory defining 
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.DefaultListableBeanFactory defining 
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.DefaultListableBeanFactory 
defining 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 
  To: user@xfire.codehaus.org 
  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 

Reply via email to