You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Anders Storsveen (JIRA)" <ji...@apache.org> on 2009/07/13 15:13:15 UTC

[jira] Created: (CXF-2338) Service created from WSDL doesn't deserialize correctly

Service created from WSDL doesn't deserialize correctly
-------------------------------------------------------

                 Key: CXF-2338
                 URL: https://issues.apache.org/jira/browse/CXF-2338
             Project: CXF
          Issue Type: Bug
          Components: JAXB Databinding
    Affects Versions: 2.2
         Environment: Darwin fou162.telenor.ntnu.no 9.7.0 Darwin Kernel Version 9.7.0: Tue Mar 31 22:52:17 PDT 2009; root:xnu-1228.12.14~1/RELEASE_I386 i386
fou162:lib wakko$ mvn --version
Maven version: 2.0.9
Java version: 1.6.0_13
OS name: "mac os x" version: "10.5.7" arch: "x86_64" Family: "mac"

            Reporter: Anders Storsveen


I'm trying to create a web service from a WSDL file and then run it embedded in my java application. I'm using maven to generate the classes and then create my own Impl and start it with Endpoint.publish(). This seems to work fine, however not all deserialize correctly. The method in question, takes two parameters, one String and one complex SmsMessage class. When I invoke the method the SOAP is fine (and there exists other services built on this wsdl that works) however the String in the method is set correctly, while the complex class is empty. 

The wsdl file in question: http://px.pats.no/px/services/SmsNotification?WSDL
A web-based client that can be used to invoke the service: http://px.pats.no/px/4_short_messaging/index_notification_SMS.html

>From my pom.xml file:

			<plugin>
				<groupId>org.apache.cxf</groupId>
				<artifactId>cxf-codegen-plugin</artifactId>
				<version>${cxf.version}</version>
				<executions>
					<execution>
						<id>generate-sources</id>
						<configuration>
							<wsdlOptions>
								<wsdlOption>
									<!-- <wsdl>${basedir}/wsdl/SmsNotification.wsdl</wsdl> -->
									<wsdl>http://px.pats.no/px/services/SmsNotification?WSDL</wsdl>
								</wsdlOption>
							</wsdlOptions>
						</configuration>
						<goals>
							<goal>wsdl2java</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CXF-2338) Service created from WSDL doesn't deserialize correctly

Posted by "Anders Storsveen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CXF-2338?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12738933#action_12738933 ] 

Anders Storsveen commented on CXF-2338:
---------------------------------------

I tried changing all the elementFormDefault to unqualified with the same result..

> Service created from WSDL doesn't deserialize correctly
> -------------------------------------------------------
>
>                 Key: CXF-2338
>                 URL: https://issues.apache.org/jira/browse/CXF-2338
>             Project: CXF
>          Issue Type: Bug
>          Components: JAXB Databinding
>    Affects Versions: 2.2
>         Environment: Darwin fou162.telenor.ntnu.no 9.7.0 Darwin Kernel Version 9.7.0: Tue Mar 31 22:52:17 PDT 2009; root:xnu-1228.12.14~1/RELEASE_I386 i386
> fou162:lib wakko$ mvn --version
> Maven version: 2.0.9
> Java version: 1.6.0_13
> OS name: "mac os x" version: "10.5.7" arch: "x86_64" Family: "mac"
>            Reporter: Anders Storsveen
>             Fix For: Invalid
>
>
> I'm trying to create a web service from a WSDL file and then run it embedded in my java application. I'm using maven to generate the classes and then create my own Impl and start it with Endpoint.publish(). This seems to work fine, however not all deserialize correctly. The method in question, takes two parameters, one String and one complex SmsMessage class. When I invoke the method the SOAP is fine (and there exists other services built on this wsdl that works) however the String in the method is set correctly, while the complex class is empty. 
> The wsdl file in question: http://px.pats.no/px/services/SmsNotification?WSDL
> A web-based client that can be used to invoke the service: http://px.pats.no/px/4_short_messaging/index_notification_SMS.html
> From my pom.xml file:
> 			<plugin>
> 				<groupId>org.apache.cxf</groupId>
> 				<artifactId>cxf-codegen-plugin</artifactId>
> 				<version>${cxf.version}</version>
> 				<executions>
> 					<execution>
> 						<id>generate-sources</id>
> 						<configuration>
> 							<wsdlOptions>
> 								<wsdlOption>
> 									<!-- <wsdl>${basedir}/wsdl/SmsNotification.wsdl</wsdl> -->
> 									<wsdl>http://px.pats.no/px/services/SmsNotification?WSDL</wsdl>
> 								</wsdlOption>
> 							</wsdlOptions>
> 						</configuration>
> 						<goals>
> 							<goal>wsdl2java</goal>
> 						</goals>
> 					</execution>
> 				</executions>
> 			</plugin>

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CXF-2338) Service created from WSDL doesn't deserialize correctly

Posted by "Daniel Kulp (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CXF-2338?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12732062#action_12732062 ] 

Daniel Kulp commented on CXF-2338:
----------------------------------


This is a bug in their service tester or similar.   If you look at the soap message coming in:

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Body>
        <notifySmsReception xmlns="http://www.csapi.org/schema/parlayx/sms/notification/v2_2/local">
            <correlator>ID_FOO</correlator>
            <message>
                <message xmlns="">Hello</message>
                <senderAddress xmlns="">tel:124</senderAddress>
                <smsServiceActivationNumber xmlns="">tel:2034</smsServiceActivationNumber>
            </message>
        </notifySmsReception>
    </soapenv:Body>
</soapenv:Envelope>

you see that the child elements of <message> are all non-qualified.   (xmlns="") 

However, if you look at the schema for the SmsMessage type, it specifically says:
elementFormDefault="qualified"

Thus, the service is not sending messages that match it's own schema.  That is a bug on their part.   They either need to update their tester to match the schema or change the schema.  


> Service created from WSDL doesn't deserialize correctly
> -------------------------------------------------------
>
>                 Key: CXF-2338
>                 URL: https://issues.apache.org/jira/browse/CXF-2338
>             Project: CXF
>          Issue Type: Bug
>          Components: JAXB Databinding
>    Affects Versions: 2.2
>         Environment: Darwin fou162.telenor.ntnu.no 9.7.0 Darwin Kernel Version 9.7.0: Tue Mar 31 22:52:17 PDT 2009; root:xnu-1228.12.14~1/RELEASE_I386 i386
> fou162:lib wakko$ mvn --version
> Maven version: 2.0.9
> Java version: 1.6.0_13
> OS name: "mac os x" version: "10.5.7" arch: "x86_64" Family: "mac"
>            Reporter: Anders Storsveen
>             Fix For: Invalid
>
>
> I'm trying to create a web service from a WSDL file and then run it embedded in my java application. I'm using maven to generate the classes and then create my own Impl and start it with Endpoint.publish(). This seems to work fine, however not all deserialize correctly. The method in question, takes two parameters, one String and one complex SmsMessage class. When I invoke the method the SOAP is fine (and there exists other services built on this wsdl that works) however the String in the method is set correctly, while the complex class is empty. 
> The wsdl file in question: http://px.pats.no/px/services/SmsNotification?WSDL
> A web-based client that can be used to invoke the service: http://px.pats.no/px/4_short_messaging/index_notification_SMS.html
> From my pom.xml file:
> 			<plugin>
> 				<groupId>org.apache.cxf</groupId>
> 				<artifactId>cxf-codegen-plugin</artifactId>
> 				<version>${cxf.version}</version>
> 				<executions>
> 					<execution>
> 						<id>generate-sources</id>
> 						<configuration>
> 							<wsdlOptions>
> 								<wsdlOption>
> 									<!-- <wsdl>${basedir}/wsdl/SmsNotification.wsdl</wsdl> -->
> 									<wsdl>http://px.pats.no/px/services/SmsNotification?WSDL</wsdl>
> 								</wsdlOption>
> 							</wsdlOptions>
> 						</configuration>
> 						<goals>
> 							<goal>wsdl2java</goal>
> 						</goals>
> 					</execution>
> 				</executions>
> 			</plugin>

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (CXF-2338) Service created from WSDL doesn't deserialize correctly

Posted by "Daniel Kulp (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CXF-2338?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Kulp resolved CXF-2338.
------------------------------

       Resolution: Invalid
    Fix Version/s: Invalid

> Service created from WSDL doesn't deserialize correctly
> -------------------------------------------------------
>
>                 Key: CXF-2338
>                 URL: https://issues.apache.org/jira/browse/CXF-2338
>             Project: CXF
>          Issue Type: Bug
>          Components: JAXB Databinding
>    Affects Versions: 2.2
>         Environment: Darwin fou162.telenor.ntnu.no 9.7.0 Darwin Kernel Version 9.7.0: Tue Mar 31 22:52:17 PDT 2009; root:xnu-1228.12.14~1/RELEASE_I386 i386
> fou162:lib wakko$ mvn --version
> Maven version: 2.0.9
> Java version: 1.6.0_13
> OS name: "mac os x" version: "10.5.7" arch: "x86_64" Family: "mac"
>            Reporter: Anders Storsveen
>             Fix For: Invalid
>
>
> I'm trying to create a web service from a WSDL file and then run it embedded in my java application. I'm using maven to generate the classes and then create my own Impl and start it with Endpoint.publish(). This seems to work fine, however not all deserialize correctly. The method in question, takes two parameters, one String and one complex SmsMessage class. When I invoke the method the SOAP is fine (and there exists other services built on this wsdl that works) however the String in the method is set correctly, while the complex class is empty. 
> The wsdl file in question: http://px.pats.no/px/services/SmsNotification?WSDL
> A web-based client that can be used to invoke the service: http://px.pats.no/px/4_short_messaging/index_notification_SMS.html
> From my pom.xml file:
> 			<plugin>
> 				<groupId>org.apache.cxf</groupId>
> 				<artifactId>cxf-codegen-plugin</artifactId>
> 				<version>${cxf.version}</version>
> 				<executions>
> 					<execution>
> 						<id>generate-sources</id>
> 						<configuration>
> 							<wsdlOptions>
> 								<wsdlOption>
> 									<!-- <wsdl>${basedir}/wsdl/SmsNotification.wsdl</wsdl> -->
> 									<wsdl>http://px.pats.no/px/services/SmsNotification?WSDL</wsdl>
> 								</wsdlOption>
> 							</wsdlOptions>
> 						</configuration>
> 						<goals>
> 							<goal>wsdl2java</goal>
> 						</goals>
> 					</execution>
> 				</executions>
> 			</plugin>

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.