[
https://issues.apache.org/jira/browse/CXF-1772?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13243989#comment-13243989
]
Petr Udalau commented on CXF-1772:
----------------------------------
There is one problem with char type in wsdl.
org.apache.cxf.aegis.type.basic.CharacterAsStringType has wrong
QName("http://cxf.apache.org/aegisTypes", "char"). When we try to add wsdl with
"char" type in SoapUI for example we will get the message that type
"char@http://cxf.apache.org/aegisTypes" is undefined in wsdl.
As the characters mapped to integer types there should be
CHARACTER_AS_STRING_TYPE_QNAME = XMLSchemaQNames.XSD_INT;
instead of
CHARACTER_AS_STRING_TYPE_QNAME = new QName("http://cxf.apache.org/aegisTypes",
"char"). Am I right?
> Generated WSDL has a char
> -------------------------
>
> Key: CXF-1772
> URL: https://issues.apache.org/jira/browse/CXF-1772
> Project: CXF
> Issue Type: Bug
> Components: Aegis Databinding
> Affects Versions: 2.1.1
> Reporter: Nathan Deckard
> Assignee: Benson Margulies
> Fix For: 2.2
>
>
> My .aegis.xml mappings are not overriding a char that is showing up in the
> generated WSDL. The char is causing SOAPUI to error out because char does not
> exist in the http://schemas.xmlsoap.org/soap/encoding/ schema.
> NathansCharImpl.aegis.xml:
> <?xml version="1.0" encoding="UTF-8"?>
> <!-- For Aegis mappings -->
> <aegis:mappings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>
> xmlns:aegis="http://cwiki.apache.org/CXF20DOC/aegis-databinding.data/aegis"
>
> schemaLocation="http://cwiki.apache.org/CXF20DOC/aegis-databinding.data/aegis.xsd">
>
> <aegis:mapping>
> <aegis:property name="myCharacter"
>
> componentType="org.apache.cxf.aegis.type.basic.CharacterType"
> typeName="xsd:string"/>
> <aegis:method name="getMyCharacter">
> <return-type
> componentType="org.apache.cxf.aegis.type.basic.CharacterType"
> typeName="xsd:string"/>
> </aegis:method>
> </aegis:mapping>
>
> </aegis:mappings>
> @WebService
> @Features(features = "org.apache.cxf.feature.LoggingFeature")
> public interface NathansCharacter {
> public abstract Character getMyCharacter();
> public abstract void setMyCharacter(Character myCharacter);
> }
> @WebService (endpointInterface =
> "com.clearingcorp.riskmanagement.ws.NathansCharacter")
> @Features(features = "org.apache.cxf.feature.LoggingFeature")
> public class NathansCharacterImpl implements NathansCharacter {
> private Character myCharacter;
>
> public Character getMyCharacter() {
> return myCharacter;
> }
>
> public void setMyCharacter(Character myCharacter) {
> this.myCharacter = myCharacter;
> }
> }
>
> <bean id="nathansCharacterServiceImpl"
> class="com.clearingcorp.riskmanagement.ws.NathansCharacterImpl"/>
>
>
> <jaxws:endpoint id="myCharacterServiceEndpoint"
>
> implementorClass="com.clearingcorp.riskmanagement.ws.NathansCharacterImpl"
> implementor="#nathansCharacterServiceImpl"
> address="/myCharacterService">
>
> <jaxws:serviceFactory>
> <ref bean="jaxws-and-aegis-service-factory"/>
> </jaxws:serviceFactory>
>
> </jaxws:endpoint>
> <bean id="aegisBean"
> class="org.apache.cxf.aegis.databinding.AegisDatabinding"
> scope="prototype"/>
> <bean id="jaxws-and-aegis-service-factory"
> class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean"
> scope="prototype">
> <property name="dataBinding" ref="aegisBean"/>
>
> <property name="serviceConfigurations">
> <list>
> <bean
> class="org.apache.cxf.jaxws.support.JaxWsServiceConfiguration"/>
> <bean
> class="org.apache.cxf.aegis.databinding.XFireCompatibilityServiceConfiguration"/>
> <bean
> class="org.apache.cxf.service.factory.DefaultServiceConfiguration"/>
> </list>
> </property>
>
> </bean>
> The error from SOAPUI:
> Fri Aug 29 14:55:49 CDT 2008:ERROR:org.apache.xmlbeans.XmlException:
> http://localhost:7003/riskmanagement-wsserver/myCharacterService?wsdl:0:
> error: src-resolve: type 'char@http://schemas.xmlsoap.org/soap/encoding/' not
> found.
> org.apache.xmlbeans.XmlException:
> http://localhost:7003/riskmanagement-wsserver/myCharacterService?wsdl:0:
> error: src-resolve: type 'char@http://schemas.xmlsoap.org/soap/encoding/' not
> found.
> at
> org.apache.xmlbeans.impl.schema.SchemaTypeSystemCompiler.compile(SchemaTypeSystemCompiler.java:225)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at org.apache.xmlbeans.XmlBeans.compileXmlBeans(XmlBeans.java:667)
> at org.apache.xmlbeans.XmlBeans.compileXsd(XmlBeans.java:553)
> at
> com.eviware.soapui.impl.wsdl.support.xsd.SchemaUtils.buildSchemaTypes(SchemaUtils.java:266)
> at
> com.eviware.soapui.impl.wsdl.support.xsd.SchemaUtils.loadSchemaTypes(SchemaUtils.java:179)
> at
> com.eviware.soapui.impl.wsdl.support.wsdl.WsdlContext.loadDefinitions(WsdlContext.java:264)
> at
> com.eviware.soapui.impl.wsdl.support.wsdl.WsdlContext.access$500(WsdlContext.java:53)
> at
> com.eviware.soapui.impl.wsdl.support.wsdl.WsdlContext$Loader.construct(WsdlContext.java:218)
> at
> com.eviware.soapui.support.swing.SwingWorkerDelegator.construct(SwingWorkerDelegator.java:45)
> at
> com.eviware.soapui.support.swing.SwingWorker$2.run(SwingWorker.java:111)
> at java.lang.Thread.run(Unknown Source)
> Fri Aug 29 14:55:49 CDT
> 2008:ERROR:com.eviware.soapui.impl.wsdl.support.xsd.SchemaException
> com.eviware.soapui.impl.wsdl.support.xsd.SchemaException
> at
> com.eviware.soapui.impl.wsdl.support.xsd.SchemaUtils.buildSchemaTypes(SchemaUtils.java:273)
> at
> com.eviware.soapui.impl.wsdl.support.xsd.SchemaUtils.loadSchemaTypes(SchemaUtils.java:179)
> at
> com.eviware.soapui.impl.wsdl.support.wsdl.WsdlContext.loadDefinitions(WsdlContext.java:264)
> at
> com.eviware.soapui.impl.wsdl.support.wsdl.WsdlContext.access$500(WsdlContext.java:53)
> at
> com.eviware.soapui.impl.wsdl.support.wsdl.WsdlContext$Loader.construct(WsdlContext.java:218)
> at
> com.eviware.soapui.support.swing.SwingWorkerDelegator.construct(SwingWorkerDelegator.java:45)
> at
> com.eviware.soapui.support.swing.SwingWorker$2.run(SwingWorker.java:111)
> at java.lang.Thread.run(Unknown Source)
> Fri Aug 29 14:55:49 CDT
> 2008:ERROR:com.eviware.soapui.impl.wsdl.support.xsd.SchemaException: Error
> loading schema types
> com.eviware.soapui.impl.wsdl.support.xsd.SchemaException: Error loading
> schema types
> at
> com.eviware.soapui.impl.wsdl.support.xsd.SchemaUtils.loadSchemaTypes(SchemaUtils.java:184)
> at
> com.eviware.soapui.impl.wsdl.support.wsdl.WsdlContext.loadDefinitions(WsdlContext.java:264)
> at
> com.eviware.soapui.impl.wsdl.support.wsdl.WsdlContext.access$500(WsdlContext.java:53)
> at
> com.eviware.soapui.impl.wsdl.support.wsdl.WsdlContext$Loader.construct(WsdlContext.java:218)
> at
> com.eviware.soapui.support.swing.SwingWorkerDelegator.construct(SwingWorkerDelegator.java:45)
> at
> com.eviware.soapui.support.swing.SwingWorker$2.run(SwingWorker.java:111)
> at java.lang.Thread.run(Unknown Source)
> Caused by: com.eviware.soapui.impl.wsdl.support.xsd.SchemaException
> at
> com.eviware.soapui.impl.wsdl.support.xsd.SchemaUtils.buildSchemaTypes(SchemaUtils.java:273)
> at
> com.eviware.soapui.impl.wsdl.support.xsd.SchemaUtils.loadSchemaTypes(SchemaUtils.java:179)
> ... 6 more
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira