Hi Guillaume,
I have looked into the code and I think you can simply configure xfire
to not create a binding. So perhaps you can then use the xfire generated
wsdl.
props.put(ObjectServiceFactory.USE, SoapConstants.USE_LITERAL);
if (serviceInterface != null) {
props.put("annotations.allow.interface", "true");
}
>>>> factory.setBindingCreationEnabled(false);
xfireService = factory.create(serviceClass, svcLocalName,
svcNamespace, props);
xfireService.setInvoker(new BeanInvoker(getPojo()));
xfireService.setFaultSerializer(new
JbiFaultSerializer(getConfiguration()));
xfireService.setProperty(SoapConstants.MTOM_ENABLED,
Boolean.toString(mtomEnabled));
xfire.getServiceRegistry().register(xfireService);
In the marked line I tell xfire to not create the default binding.
I think you could even tell xfire to create a special jbi binding if
this will help further.
Best regards
Christian
Guillaume Nodet schrieb:
This code has been recently modified.
One of the problem is that the wsdl for the jsr181 endpoint should not
contain any soap binding informations.
However, if the wsdl create by the WSDLFlattener / WSDLFactory
is not usable, this is the problem.
You should be able to test that easily i think.
On 11/9/06, Christian Schneider <[EMAIL PROTECTED]> wrote:
I have debuged the problem and found out where we get our wrong wsdl
from.
The problem is inside Jsr181Endpoint.java in method registerService:
http://svn.apache.org/repos/asf/incubator/servicemix/trunk/deployables/serviceengines/servicemix-jsr181/src/main/java/org/apache/servicemix/jsr181/Jsr181Endpoint.java
First the wsdl is generated by xfire:
// If the wsdl has not been provided,
// generate one
if (this.description == null) {
this.description = generateWsdl();
Then later it is overwritten:
// Flatten it
definition = new WSDLFlattener(definition).getDefinition(interfaceName);
description =
WSDLFactory.newInstance().newWSDLWriter().getDocument(definition);
The description that is generated by xfire is correct about the
complextype. The decription from the WSDLFactory is wrong.
Does anybody know why the wsdl from xfire can not be used?
Best regards
Christian
Guillaume Nodet schrieb:
> Not any real idea, given what you have seen, this is certainly
> a bug. Could you please raise a JIRA and attach the necessary
> files to reproduce the problem easily ?
>
--
Christian Schneider
---
http://www.liquid-reality.de
--
Christian Schneider
---
http://www.liquid-reality.de