[JBossWS] - Re: Using Axis SAAJ Implementation instead of JBossWS
by reinerka
Hi Thomas,
it probably isn't the SAAJ implementation alone but as well the XML parsing components that cause more problem than they solve.
Right now we've isolated those key items:
1. Chunked transfers
2. Encapsulation namespaces with single quotes
Neither of them are against XML/HTTP rules, but they casue a large number of users of our services to fail due to interoperability issues (a key importance to us).
1. Chunked transfers
We were able to remove this by adding a couple of additional classes to handle IO (which just shouldn't be needed).
2. Namesapces
Using those specialiced classes we were able to resolve this issue as well.
Overall a lot of our subscribers are running embedded systems that rely on minimal overhead for parsing XML and thus will sometimes choose a parser that is not 100% compliant but allows them to save memory footprint. Our objective is to make sure they work.
SAAJ (and the required XML parser) were far more tolerant on receiving as well as providing a wider interoperability than what we now have.
Regards,
Reiner
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3988676#3988676
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3988676
18 years, 1 month
[JBossWS] - JBossWS 2.0 CR2
by Ganton
Should we post potential issues about 2.0.0.CR2 here ?
I was testing a very simple WS (Stateful EJB SEI), and
it does not show up under JBoss 5.0.0.Beta1.
Here is the important stuff:
application.xml
<?xml version="1.0" encoding="UTF-8"?>
| <application xmlns="http://java.sun.com/xml/ns/j2ee" version="1.4"
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
| xsi:schemaLocation="http://java.sun.com /xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/application_1_4.xsd">
| <display-name>Test50</display-name>
| <description>Test50</description>
| <module>
| <ejb>test50.jar</ejb>
| </module>
| </application>
|
jboss-app.xml
<!DOCTYPE jboss-app
| PUBLIC "-//JBoss//DTD J2EE Application 1.4//EN"
| "http://www.jboss.org/j2ee/dtd/jboss-app_4_0.dtd">
| <jboss-app>
| <loader-repository>
| test50:app=ejb3
| </loader-repository>
| </jboss-app>
Service Endpoint (Interface class matches)
/**
| *
| */
| package com.company.test50;
|
| import javax.ejb.Stateful;
| import javax.ejb.Stateless;
| import javax.jws.WebService;
| import javax.jws.WebMethod;
| import javax.jws.soap.SOAPBinding;
| import java.util.*;
|
| /**
| * @author Owner
| *
| */
| @WebService(name="TestWSService", targetNamespace="http://com.company.test50")
| @SOAPBinding(style=SOAPBinding.Style.DOCUMENT)
| @Stateful
| public class TestWSServerBean implements TestWSServer
| {
| private Collection<TestEntity> entities;
|
| @WebMethod
| public Collection<TestEntity> getEntities()
| {
| return entities;
| }
|
| @WebMethod
| public void addEntity(TestEntity add)
| {
| entities.add(add);
| }
|
| @WebMethod
| public TestEntity getEntity(int id)
| {
| return null;
| }
|
| @WebMethod
| public void updateEntity(TestEntity updated)
| {
|
| }
|
| @WebMethod
| public void deleteEntity(int id)
| {
|
| }
| }
|
Any ideas ?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3988579#3988579
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3988579
18 years, 1 month
[JBossWS] - WSTOOLS BUG error resolving component
by ste
When I run WSTOOLS against a document/literal WSDL describing an arbitrary object, it fails with this error:
anonymous wrote : ERROR [JBossXSErrorHandler] JBossWS_weather.samples_xsd41009.xsd[domain:http://www.w3.org/TR/xml-sche...: Error resolving component 'ax21:Weather'. It was detected that 'ax21:Weather' is in namespace 'http://data.pojo.sample/xsd', but co
| mponents from this namespace are not referenceable from schema document 'file:/c:/temp/JBossWS_weather.samples_xsd41009.xsd'. If this is the incorrect namespace, perhaps the prefix of 'ax21:Weather' needs to be changed. If this is the correct namespace, then an appropriate 'import' tag should be added to 'file:/c:/temp/JBossWS_weather.samples_xsd41009.xsd'.
Using WSCOMPILE everything is ok.
I have already updated my wstools-config.xml file with:
<wsdl-java location="SomeWSDL.wsdl" parameter-style="bare">
WSDL is taken from Axis2 WeatherService sample:
anonymous wrote : - <wsdl:definitions xmlns:axis2="http://weather.samples/" xmlns:ns0="http://data.pojo.sample/xsd" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:ns="http://weather.samples/xsd" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://weather.samples/">
| <wsdl:documentation>WeatherService</wsdl:documentation>
| - <wsdl:types>
| - <xs:schema xmlns:ax21="http://data.pojo.sample/xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://weather.samples/xsd">
| - <xs:element name="getWeatherResponse">
| - <xs:complexType>
| - <xs:sequence>
| <xs:element name="return" nillable="true" type="ax21:Weather" />
| </xs:sequence>
| </xs:complexType>
| </xs:element>
| - <xs:element name="setWeather">
| - <xs:complexType>
| - <xs:sequence>
| <xs:element name="param0" nillable="true" type="ax21:Weather" />
| </xs:sequence>
| </xs:complexType>
| </xs:element>
| </xs:schema>
| - <xs:schema xmlns:ax21="http://data.pojo.sample/xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://data.pojo.sample/xsd">
| <xs:element name="Weather" type="ax21:Weather" />
| - <xs:complexType name="Weather">
| - <xs:sequence>
| <xs:element name="forecast" nillable="true" type="xs:string" />
| <xs:element name="howMuchRain" type="xs:float" />
| <xs:element name="rain" type="xs:boolean" />
| <xs:element name="temperature" type="xs:float" />
| </xs:sequence>
| </xs:complexType>
| </xs:schema>
| </wsdl:types>
| <wsdl:message name="getWeatherMessage" />
| - <wsdl:message name="getWeatherResponseMessage">
| <wsdl:part name="part1" element="ns:getWeatherResponse" />
| </wsdl:message>
| - <wsdl:message name="setWeatherMessage">
| <wsdl:part name="part1" element="ns:setWeather" />
| </wsdl:message>
| - <wsdl:portType name="WeatherServicePortType">
| - <wsdl:operation name="getWeather">
| <wsdl:input xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" message="axis2:getWeatherMessage" wsaw:Action="urn:getWeather" />
| <wsdl:output xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" message="axis2:getWeatherResponseMessage" wsaw:Action="http://weather.samples/WeatherServicePortType/getWeatherResponse" />
| </wsdl:operation>
| - <wsdl:operation name="setWeather">
| <wsdl:input xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" message="axis2:setWeatherMessage" wsaw:Action="urn:setWeather" />
| </wsdl:operation>
| </wsdl:portType>
| - <wsdl:binding name="WeatherServiceSOAP11Binding" type="axis2:WeatherServicePortType">
| <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
| - <wsdl:operation name="getWeather">
| <soap:operation soapAction="urn:getWeather" style="document" />
| - <wsdl:input>
| <soap:body use="literal" />
| </wsdl:input>
| - <wsdl:output>
| <soap:body use="literal" />
| </wsdl:output>
| </wsdl:operation>
| - <wsdl:operation name="setWeather">
| <soap:operation soapAction="urn:setWeather" style="document" />
| - <wsdl:input>
| <soap:body use="literal" />
| </wsdl:input>
| </wsdl:operation>
| </wsdl:binding>
| - <wsdl:binding name="WeatherServiceSOAP12Binding" type="axis2:WeatherServicePortType">
| <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
| - <wsdl:operation name="getWeather">
| <soap12:operation soapAction="urn:getWeather" style="document" />
| - <wsdl:input>
| <soap12:body use="literal" />
| </wsdl:input>
| - <wsdl:output>
| <soap12:body use="literal" />
| </wsdl:output>
| </wsdl:operation>
| - <wsdl:operation name="setWeather">
| <soap12:operation soapAction="urn:setWeather" style="document" />
| - <wsdl:input>
| <soap12:body use="literal" />
| </wsdl:input>
| </wsdl:operation>
| </wsdl:binding>
| - <wsdl:service name="WeatherService">
| - <wsdl:port name="WeatherServiceSOAP11port_http" binding="axis2:WeatherServiceSOAP11Binding">
| <soap:address location="http://26.2.243.190:8080/axis2/services/WeatherService" />
| </wsdl:port>
| - <wsdl:port name="WeatherServiceSOAP12port_http" binding="axis2:WeatherServiceSOAP12Binding">
| <soap12:address location="http://26.2.243.190:8080/axis2/services/WeatherService" />
| </wsdl:port>
| </wsdl:service>
| </wsdl:definitions>
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3988444#3988444
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3988444
18 years, 1 month