Can you write an Xfire client for the service and make sure it works?
I'm not too sure how soapui works, but if you write an xfire client (and
it works) then you can pass it through tcpmon and compare the resulting
xml between the two.
I use this code to quickly test my services, it assumes that you are
using the xfire defaults. If not you need to change the line [[-
this.serviceModel = new ObjectServiceFactory().create(getObjectType());
-]]. Hope this helps
import org.codehaus.xfire.client.XFireProxyFactory;
import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.service.binding.ObjectServiceFactory;
import org.springframework.beans.factory.FactoryBean;
import org.springframework.beans.factory.InitializingBean;
import edu.suny.sysadm.common.lang.SUNYException;
import edu.suny.sysadm.common.logging.Log;
/**
* @author hoganga
* @since Jun 18, 2007
*/
public class ConfigurableXFireClientFactory implements FactoryBean,
InitializingBean {
private XFireProxyFactory proxyFactory = new
XFireProxyFactory();
private String submissionURL;
private Service serviceModel;
private Class objectType;
private Log log;
/**
* @see
org.springframework.beans.factory.InitializingBean#afterPropertiesSet()
* @throws Exception
*/
public void afterPropertiesSet() throws Exception {
if(getObjectType()==null || getSubmissionURL()==null) {
throw new SUNYException("URL and ObjectType
Cannot Be Null [Type::"+ getObjectType() + ":: URL::"
+getSubmissionURL()+"]");
}
this.serviceModel = new
ObjectServiceFactory().create(getObjectType());
this.log = Log.getInstance(getObjectType().getName() +
"_Factory[" + Integer.toHexString(hashCode()) + "]");
}
/**
* @see org.springframework.beans.factory.FactoryBean#getObject()
* @return
* @throws Exception
*/
public Object getObject() throws Exception {
try {
log.debug("Using URL : " + submissionURL);
Object newService =
proxyFactory.create(serviceModel, submissionURL);
return newService;
} catch (Throwable e) {
throw new SUNYException(e);
}
}
/**
* @see
org.springframework.beans.factory.FactoryBean#getObjectType()
* @return
*/
public Class getObjectType() {
return objectType;
}
/**
* @see org.springframework.beans.factory.FactoryBean#isSingleton()
* @return
*/
public boolean isSingleton() {
return false;
}
public String getSubmissionURL() {
return this.submissionURL;
}
public void setSubmissionURL(String submissionURL) {
this.submissionURL = submissionURL;
}
public void setObjectType(Class objectType) {
this.objectType = objectType;
}
public static void main (String args[]) {
ConfigurableXFireClientFactory fact = new
ConfigurableXFireClientFactory();
fact.setObjectType(MyEchoService.class);
fact.setSubmissionURL("http://my.url/services/echo");
fact.afterPropertiesSet();
((MyEchoService.class)fact.getObject()).echo("Hi All");
}
}
___________________________________________
Gavin Hogan
Programmer/Analyst
The State University of New York
State University Plaza
Albany, NY 12246
Phone 518-443-5481
fax 518-443-5809
e-mail [EMAIL PROTECTED]
-----Original Message-----
From: Jan Kriesten [mailto:[EMAIL PROTECTED]
Sent: Thursday, June 21, 2007 9:16 AM
To: [email protected]
Subject: Re: [xfire-user] service problems
hi,
> From my experience when things are invisible it is because the
> namespace is wrong. The message namespaces must match the declared
> namespace. Can't be sure this is what is wrong for you but it has
> happened me before.
no, the namespaces are identical, just checked again.
any other ideas?
regards, --- jan.
---------------------------------------------------------------------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email
---------------------------------------------------------------------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email