You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by exgorth <ex...@gmail.com> on 2007/08/31 10:02:09 UTC

wsdl2java - soap:header handling/generation

The service i'm trying to access accepts the auth info in custom way - client
must specify a soap:header with login:password pair and receive a token,
that must be included as soap:header in all further requests.

The problem that in generated code (wsdl2java) any info about that is not
present.

In XFIRE 1.2.4 the generated method was:

@WebMethod(operationName = "Search", action =
"http://tourml.ru/service/2006-03-14/Search")
@WebResult(name = "TourML", targetNamespace =
"http://tourml.ru/products/2004-04-19")
public TourML search(
  @WebParam(name = "request", targetNamespace =
"http://tourml.ru/query-request/2004-07-07")
  Request request,
  @WebParam(name = "UserSessionId", targetNamespace =
"http://tourml.ru/serviceSecurity/2006-03-14/", header = true)
  ru.tourml.servicesecurity._2006_03_14.UserSessionId UserSessionId);

but in CFX-2.0.1:

@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
@WebMethod(action = "http://tourml.ru/service/2006-03-14/Search",
operationName = "Search")
@WebResult(targetNamespace = "http://tourml.ru/service/2006-03-14", partName
= "parameters", name = "SearchResponse")
public ru.tourml.service._2006_03_14.SearchResponse search(
  @WebParam(targetNamespace = "http://tourml.ru/service/2006-03-14",
partName = "parameters", name = "Search")
  ru.tourml.service._2006_03_14.Search parameters);

the UserSessionId is not present as argument.

How can i supply the request with the required header? Why it doesn't
present in generated API?

-- 
View this message in context: http://www.nabble.com/wsdl2java---soap%3Aheader-handling-generation-tf4358725.html#a12422058
Sent from the cxf-user mailing list archive at Nabble.com.


Re: wsdl2java - soap:header handling/generation

Posted by exgorth <ex...@gmail.com>.
The pom entry is:

<build>
	<plugins>
		<plugin>
			<groupId>org.apache.cxf</groupId>
			<artifactId>cxf-codegen-plugin</artifactId>
			<version>2.0.1-incubator</version>
			<dependencies>
				<dependency>
					<groupId>org.apache.cxf</groupId>
					<artifactId>cxf-rt-bindings-soap</artifactId>
					<version>2.0.1-incubator</version>
				</dependency>
			</dependencies>
			<executions>
				<execution>
					<id>generate-sources</id>
					<phase>generate-sources</phase>
					<configuration>
						<wsdlOptions>
							<wsdlOption>
								<wsdl>http://touralliance.bronni.ru/Loader.asmx?wsdl</wsdl>
								<extraargs>
									<extraarg>-exsh</extraarg>
									<extraarg>true</extraarg>
									<extraarg>-verbose</extraarg>
									<extraarg>-all</extraarg>
								</extraargs>
							</wsdlOption>
						</wsdlOptions>
					</configuration>
					<goals>
						<goal>wsdl2java</goal>
					</goals>
				</execution>
			</executions>
		</plugin>
	</plugins>
</build>

And all "impls" are generated, but still getting:
INFO: Creating Service {http://tourml.ru/service/2006-03-14}Loader from
WSDL: http://touralliance.bronni.ru/Loader.asmx?wsdl
Exception in thread "main" javax.xml.ws.WebServiceException:
org.apache.cxf.service.factory.ServiceConstructionException: Could not find
a message part matching name
{http://tourml.ru/serviceSecurity/2006-03-14/}UserSessionId.  Possible
values are [{http://tourml.ru/service/2006-03-14}UserSessionId].
	at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:243)
	at javax.xml.ws.Service.getPort(Service.java:94)
	at ru.tourml.service._2006_03_14.Loader.getLoaderSoap(Loader.java:51)
	at ru.invito.ws.client.bronni.App.main(App.java:41)
Caused by: org.apache.cxf.service.factory.ServiceConstructionException:
Could not find a message part matching name
{http://tourml.ru/serviceSecurity/2006-03-14/}UserSessionId.  Possible
values are [{http://tourml.ru/service/2006-03-14}UserSessionId].
	at
org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.initializeParameter(JaxWsServiceFactoryBean.java:391)
	at
org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.initializeClassInfo(JaxWsServiceFactoryBean.java:358)
	at
org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.initializeWSDLOperation(JaxWsServiceFactoryBean.java:173)
	at
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeWSDLOperations(ReflectionServiceFactoryBean.java:319)
	at
org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.initializeWSDLOperations(JaxWsServiceFactoryBean.java:182)
	at
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromWSDL(ReflectionServiceFactoryBean.java:211)
	at
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:262)
	at
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:143)
	at
org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:89)
	at
org.apache.cxf.frontend.AbstractEndpointFactory.createEndpoint(AbstractEndpointFactory.java:81)
	at
org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:50)
	at
org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:89)
	at org.apache.cxf.jaxws.ServiceImpl.createPort(ServiceImpl.java:336)
	at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:241)
	... 3 more


I've found nearly the same question in
http://www.nabble.com/forum/ViewPost.jtp?post=11707112&framed=y
and the answer was: "it was fixed". So is this fixed in 2.0.1-incubator? 


Also a question: in tcpmon log a see a 3 equal requests each time i start an
app:
GET http://touralliance.bronni.ru/Loader.asmx?wsdl HTTP/1.1
User-Agent: Java/1.5.0_12
Host: touralliance.bronni.ru
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Proxy-Connection: keep-alive


I'm starting:
Loader ss = new Loader();
LoaderSoap port = ss.getLoaderSoap();
System.out.println("Invoking login...");
java.lang.String _login_login = "";
java.lang.String _login_password = "";
javax.xml.ws.Holder<ru.tourml.servicesecurity._2006_03_14.UserSessionId>
_login_userSessionId = new
javax.xml.ws.Holder<ru.tourml.servicesecurity._2006_03_14.UserSessionId>();
port.login(_login_login, _login_password, _login_userSessionId);
System.out.println("login._login_userSessionId=" +
_login_userSessionId.value);

the same code is present in generated client
LoaderSoap_LoaderSoap_Client.java

Why do it need these 3 requests?




Jim Ma-3 wrote:
> 
> Did you regenerate the server side code ? From the stack trace , I think 
> the server did not use the implementor class which contains soap header 
> parameter ?
> Could you check it ?
> 
> -Jim
> 
> exgorth wrote:
>> One more..
>>
>> I've generated stubs with:
>> wsdl2java -d .\generated -exsh true -client
>> http://touralliance.bronni.ru/Loader.asmx?wsdl
>>
>>
>> And whee invoking generated client i'm getting:
>>
>> INFO: Creating Service {http://tourml.ru/service/2006-03-14}Loader from
>> WSDL: http://touralliance.bronni.ru/Loader.asmx?wsdl
>> Exception in thread "main" javax.xml.ws.WebServiceException:
>> org.apache.cxf.service.factory.ServiceConstructionException: Could not
>> find
>> a message part matching name
>> {http://tourml.ru/serviceSecurity/2006-03-14/}UserSessionId.  Possible
>> values are [{http://tourml.ru/service/2006-03-14}UserSessionId].
>> 	at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:243)
>> 	at javax.xml.ws.Service.getPort(Service.java:94)
>> 	at ru.tourml.service._2006_03_14.Loader.getLoaderSoap(Loader.java:51)
>> 	at ru.invito.ws.client.bronni.App.main(App.java:49)
>> Caused by: org.apache.cxf.service.factory.ServiceConstructionException:
>> Could not find a message part matching name
>> {http://tourml.ru/serviceSecurity/2006-03-14/}UserSessionId.  Possible
>> values are [{http://tourml.ru/service/2006-03-14}UserSessionId].
>> 	at
>> org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.initializeParameter(JaxWsServiceFactoryBean.java:391)
>> 	at
>> org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.initializeClassInfo(JaxWsServiceFactoryBean.java:358)
>> 	at
>> org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.initializeWSDLOperation(JaxWsServiceFactoryBean.java:173)
>> 	at
>> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeWSDLOperations(ReflectionServiceFactoryBean.java:319)
>> 	at
>> org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.initializeWSDLOperations(JaxWsServiceFactoryBean.java:182)
>> 	at
>> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromWSDL(ReflectionServiceFactoryBean.java:211)
>> 	at
>> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:262)
>> 	at
>> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:143)
>> 	at
>> org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:89)
>> 	at
>> org.apache.cxf.frontend.AbstractEndpointFactory.createEndpoint(AbstractEndpointFactory.java:81)
>> 	at
>> org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:50)
>> 	at
>> org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:89)
>> 	at org.apache.cxf.jaxws.ServiceImpl.createPort(ServiceImpl.java:336)
>> 	at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:241)
>> 	... 3 more
>>
>>
>>
>>
>> Jim Ma-3 wrote:
>>   
>>> Hi exgorth ,
>>>
>>> You use the "wsdl2java -exsh true " to generate the parameter for soap 
>>> header .
>>>
>>> Regards
>>>
>>> Jim
>>>
>>> exgorth wrote:
>>>     
>>>> The service i'm trying to access accepts the auth info in custom way -
>>>> client
>>>> must specify a soap:header with login:password pair and receive a
>>>> token,
>>>> that must be included as soap:header in all further requests.
>>>>
>>>> The problem that in generated code (wsdl2java) any info about that is
>>>> not
>>>> present.
>>>>
>>>> In XFIRE 1.2.4 the generated method was:
>>>>
>>>> @WebMethod(operationName = "Search", action =
>>>> "http://tourml.ru/service/2006-03-14/Search")
>>>> @WebResult(name = "TourML", targetNamespace =
>>>> "http://tourml.ru/products/2004-04-19")
>>>> public TourML search(
>>>>   @WebParam(name = "request", targetNamespace =
>>>> "http://tourml.ru/query-request/2004-07-07")
>>>>   Request request,
>>>>   @WebParam(name = "UserSessionId", targetNamespace =
>>>> "http://tourml.ru/serviceSecurity/2006-03-14/", header = true)
>>>>   ru.tourml.servicesecurity._2006_03_14.UserSessionId UserSessionId);
>>>>
>>>> but in CFX-2.0.1:
>>>>
>>>> @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
>>>> @WebMethod(action = "http://tourml.ru/service/2006-03-14/Search",
>>>> operationName = "Search")
>>>> @WebResult(targetNamespace = "http://tourml.ru/service/2006-03-14",
>>>> partName
>>>> = "parameters", name = "SearchResponse")
>>>> public ru.tourml.service._2006_03_14.SearchResponse search(
>>>>   @WebParam(targetNamespace = "http://tourml.ru/service/2006-03-14",
>>>> partName = "parameters", name = "Search")
>>>>   ru.tourml.service._2006_03_14.Search parameters);
>>>>
>>>> the UserSessionId is not present as argument.
>>>>
>>>> How can i supply the request with the required header? Why it doesn't
>>>> present in generated API?
>>>>
>>>>   
>>>>       
>>>     
>>
>>
>>
>>   
> 
> 

-- 
View this message in context: http://www.nabble.com/wsdl2java---soap%3Aheader-handling-generation-tf4358725.html#a12423851
Sent from the cxf-user mailing list archive at Nabble.com.


Re: wsdl2java - soap:header handling/generation

Posted by exgorth <ex...@gmail.com>.
The pom entry is:

<build>
	<plugins>
		<plugin>
			<groupId>org.apache.cxf</groupId>
			<artifactId>cxf-codegen-plugin</artifactId>
			<version>2.0.1-incubator</version>
			<dependencies>
				<dependency>
					<groupId>org.apache.cxf</groupId>
					<artifactId>cxf-rt-bindings-soap</artifactId>
					<version>2.0.1-incubator</version>
				</dependency>
			</dependencies>
			<executions>
				<execution>
					<id>generate-sources</id>
					<phase>generate-sources</phase>
					<configuration>
						<wsdlOptions>
							<wsdlOption>
								<wsdl>http://touralliance.bronni.ru/Loader.asmx?wsdl</wsdl>
								<extraargs>
									<extraarg>-exsh</extraarg>
									<extraarg>true</extraarg>
									<extraarg>-verbose</extraarg>
									<extraarg>-all</extraarg>
								</extraargs>
							</wsdlOption>
						</wsdlOptions>
					</configuration>
					<goals>
						<goal>wsdl2java</goal>
					</goals>
				</execution>
			</executions>
		</plugin>
	</plugins>
</build>

And all "impls" are generated, but still getting:
INFO: Creating Service {http://tourml.ru/service/2006-03-14}Loader from
WSDL: http://touralliance.bronni.ru/Loader.asmx?wsdl
Exception in thread "main" javax.xml.ws.WebServiceException:
org.apache.cxf.service.factory.ServiceConstructionException: Could not find
a message part matching name
{http://tourml.ru/serviceSecurity/2006-03-14/}UserSessionId.  Possible
values are [{http://tourml.ru/service/2006-03-14}UserSessionId].
	at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:243)
	at javax.xml.ws.Service.getPort(Service.java:94)
	at ru.tourml.service._2006_03_14.Loader.getLoaderSoap(Loader.java:51)
	at ru.invito.ws.client.bronni.App.main(App.java:41)
Caused by: org.apache.cxf.service.factory.ServiceConstructionException:
Could not find a message part matching name
{http://tourml.ru/serviceSecurity/2006-03-14/}UserSessionId.  Possible
values are [{http://tourml.ru/service/2006-03-14}UserSessionId].
	at
org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.initializeParameter(JaxWsServiceFactoryBean.java:391)
	at
org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.initializeClassInfo(JaxWsServiceFactoryBean.java:358)
	at
org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.initializeWSDLOperation(JaxWsServiceFactoryBean.java:173)
	at
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeWSDLOperations(ReflectionServiceFactoryBean.java:319)
	at
org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.initializeWSDLOperations(JaxWsServiceFactoryBean.java:182)
	at
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromWSDL(ReflectionServiceFactoryBean.java:211)
	at
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:262)
	at
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:143)
	at
org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:89)
	at
org.apache.cxf.frontend.AbstractEndpointFactory.createEndpoint(AbstractEndpointFactory.java:81)
	at
org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:50)
	at
org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:89)
	at org.apache.cxf.jaxws.ServiceImpl.createPort(ServiceImpl.java:336)
	at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:241)
	... 3 more


Also a question: in tcpmon log a see a 3 equal requests each time i start an
app:
GET http://touralliance.bronni.ru/Loader.asmx?wsdl HTTP/1.1
User-Agent: Java/1.5.0_12
Host: touralliance.bronni.ru
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Proxy-Connection: keep-alive


I'm starting:
Loader ss = new Loader();
LoaderSoap port = ss.getLoaderSoap();
System.out.println("Invoking login...");
java.lang.String _login_login = "";
java.lang.String _login_password = "";
javax.xml.ws.Holder<ru.tourml.servicesecurity._2006_03_14.UserSessionId>
_login_userSessionId = new
javax.xml.ws.Holder<ru.tourml.servicesecurity._2006_03_14.UserSessionId>();
port.login(_login_login, _login_password, _login_userSessionId);
System.out.println("login._login_userSessionId=" +
_login_userSessionId.value);

the same code is present in generated client
LoaderSoap_LoaderSoap_Client.java

Why do it need these 3 requests?




Jim Ma-3 wrote:
> 
> Did you regenerate the server side code ? From the stack trace , I think 
> the server did not use the implementor class which contains soap header 
> parameter ?
> Could you check it ?
> 
> -Jim
> 
> exgorth wrote:
>> One more..
>>
>> I've generated stubs with:
>> wsdl2java -d .\generated -exsh true -client
>> http://touralliance.bronni.ru/Loader.asmx?wsdl
>>
>>
>> And whee invoking generated client i'm getting:
>>
>> INFO: Creating Service {http://tourml.ru/service/2006-03-14}Loader from
>> WSDL: http://touralliance.bronni.ru/Loader.asmx?wsdl
>> Exception in thread "main" javax.xml.ws.WebServiceException:
>> org.apache.cxf.service.factory.ServiceConstructionException: Could not
>> find
>> a message part matching name
>> {http://tourml.ru/serviceSecurity/2006-03-14/}UserSessionId.  Possible
>> values are [{http://tourml.ru/service/2006-03-14}UserSessionId].
>> 	at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:243)
>> 	at javax.xml.ws.Service.getPort(Service.java:94)
>> 	at ru.tourml.service._2006_03_14.Loader.getLoaderSoap(Loader.java:51)
>> 	at ru.invito.ws.client.bronni.App.main(App.java:49)
>> Caused by: org.apache.cxf.service.factory.ServiceConstructionException:
>> Could not find a message part matching name
>> {http://tourml.ru/serviceSecurity/2006-03-14/}UserSessionId.  Possible
>> values are [{http://tourml.ru/service/2006-03-14}UserSessionId].
>> 	at
>> org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.initializeParameter(JaxWsServiceFactoryBean.java:391)
>> 	at
>> org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.initializeClassInfo(JaxWsServiceFactoryBean.java:358)
>> 	at
>> org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.initializeWSDLOperation(JaxWsServiceFactoryBean.java:173)
>> 	at
>> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeWSDLOperations(ReflectionServiceFactoryBean.java:319)
>> 	at
>> org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.initializeWSDLOperations(JaxWsServiceFactoryBean.java:182)
>> 	at
>> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromWSDL(ReflectionServiceFactoryBean.java:211)
>> 	at
>> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:262)
>> 	at
>> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:143)
>> 	at
>> org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:89)
>> 	at
>> org.apache.cxf.frontend.AbstractEndpointFactory.createEndpoint(AbstractEndpointFactory.java:81)
>> 	at
>> org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:50)
>> 	at
>> org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:89)
>> 	at org.apache.cxf.jaxws.ServiceImpl.createPort(ServiceImpl.java:336)
>> 	at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:241)
>> 	... 3 more
>>
>>
>>
>>
>> Jim Ma-3 wrote:
>>   
>>> Hi exgorth ,
>>>
>>> You use the "wsdl2java -exsh true " to generate the parameter for soap 
>>> header .
>>>
>>> Regards
>>>
>>> Jim
>>>
>>> exgorth wrote:
>>>     
>>>> The service i'm trying to access accepts the auth info in custom way -
>>>> client
>>>> must specify a soap:header with login:password pair and receive a
>>>> token,
>>>> that must be included as soap:header in all further requests.
>>>>
>>>> The problem that in generated code (wsdl2java) any info about that is
>>>> not
>>>> present.
>>>>
>>>> In XFIRE 1.2.4 the generated method was:
>>>>
>>>> @WebMethod(operationName = "Search", action =
>>>> "http://tourml.ru/service/2006-03-14/Search")
>>>> @WebResult(name = "TourML", targetNamespace =
>>>> "http://tourml.ru/products/2004-04-19")
>>>> public TourML search(
>>>>   @WebParam(name = "request", targetNamespace =
>>>> "http://tourml.ru/query-request/2004-07-07")
>>>>   Request request,
>>>>   @WebParam(name = "UserSessionId", targetNamespace =
>>>> "http://tourml.ru/serviceSecurity/2006-03-14/", header = true)
>>>>   ru.tourml.servicesecurity._2006_03_14.UserSessionId UserSessionId);
>>>>
>>>> but in CFX-2.0.1:
>>>>
>>>> @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
>>>> @WebMethod(action = "http://tourml.ru/service/2006-03-14/Search",
>>>> operationName = "Search")
>>>> @WebResult(targetNamespace = "http://tourml.ru/service/2006-03-14",
>>>> partName
>>>> = "parameters", name = "SearchResponse")
>>>> public ru.tourml.service._2006_03_14.SearchResponse search(
>>>>   @WebParam(targetNamespace = "http://tourml.ru/service/2006-03-14",
>>>> partName = "parameters", name = "Search")
>>>>   ru.tourml.service._2006_03_14.Search parameters);
>>>>
>>>> the UserSessionId is not present as argument.
>>>>
>>>> How can i supply the request with the required header? Why it doesn't
>>>> present in generated API?
>>>>
>>>>   
>>>>       
>>>     
>>
>>
>>
>>   
> 
> 

-- 
View this message in context: http://www.nabble.com/wsdl2java---soap%3Aheader-handling-generation-tf4358725.html#a12423851
Sent from the cxf-user mailing list archive at Nabble.com.


Re: wsdl2java - soap:header handling/generation

Posted by Jim Ma <em...@iona.com>.
Did you regenerate the server side code ? From the stack trace , I think 
the server did not use the implementor class which contains soap header 
parameter ?
Could you check it ?

-Jim

exgorth wrote:
> One more..
>
> I've generated stubs with:
> wsdl2java -d .\generated -exsh true -client
> http://touralliance.bronni.ru/Loader.asmx?wsdl
>
>
> And whee invoking generated client i'm getting:
>
> INFO: Creating Service {http://tourml.ru/service/2006-03-14}Loader from
> WSDL: http://touralliance.bronni.ru/Loader.asmx?wsdl
> Exception in thread "main" javax.xml.ws.WebServiceException:
> org.apache.cxf.service.factory.ServiceConstructionException: Could not find
> a message part matching name
> {http://tourml.ru/serviceSecurity/2006-03-14/}UserSessionId.  Possible
> values are [{http://tourml.ru/service/2006-03-14}UserSessionId].
> 	at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:243)
> 	at javax.xml.ws.Service.getPort(Service.java:94)
> 	at ru.tourml.service._2006_03_14.Loader.getLoaderSoap(Loader.java:51)
> 	at ru.invito.ws.client.bronni.App.main(App.java:49)
> Caused by: org.apache.cxf.service.factory.ServiceConstructionException:
> Could not find a message part matching name
> {http://tourml.ru/serviceSecurity/2006-03-14/}UserSessionId.  Possible
> values are [{http://tourml.ru/service/2006-03-14}UserSessionId].
> 	at
> org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.initializeParameter(JaxWsServiceFactoryBean.java:391)
> 	at
> org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.initializeClassInfo(JaxWsServiceFactoryBean.java:358)
> 	at
> org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.initializeWSDLOperation(JaxWsServiceFactoryBean.java:173)
> 	at
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeWSDLOperations(ReflectionServiceFactoryBean.java:319)
> 	at
> org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.initializeWSDLOperations(JaxWsServiceFactoryBean.java:182)
> 	at
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromWSDL(ReflectionServiceFactoryBean.java:211)
> 	at
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:262)
> 	at
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:143)
> 	at
> org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:89)
> 	at
> org.apache.cxf.frontend.AbstractEndpointFactory.createEndpoint(AbstractEndpointFactory.java:81)
> 	at
> org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:50)
> 	at
> org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:89)
> 	at org.apache.cxf.jaxws.ServiceImpl.createPort(ServiceImpl.java:336)
> 	at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:241)
> 	... 3 more
>
>
>
>
> Jim Ma-3 wrote:
>   
>> Hi exgorth ,
>>
>> You use the "wsdl2java -exsh true " to generate the parameter for soap 
>> header .
>>
>> Regards
>>
>> Jim
>>
>> exgorth wrote:
>>     
>>> The service i'm trying to access accepts the auth info in custom way -
>>> client
>>> must specify a soap:header with login:password pair and receive a token,
>>> that must be included as soap:header in all further requests.
>>>
>>> The problem that in generated code (wsdl2java) any info about that is not
>>> present.
>>>
>>> In XFIRE 1.2.4 the generated method was:
>>>
>>> @WebMethod(operationName = "Search", action =
>>> "http://tourml.ru/service/2006-03-14/Search")
>>> @WebResult(name = "TourML", targetNamespace =
>>> "http://tourml.ru/products/2004-04-19")
>>> public TourML search(
>>>   @WebParam(name = "request", targetNamespace =
>>> "http://tourml.ru/query-request/2004-07-07")
>>>   Request request,
>>>   @WebParam(name = "UserSessionId", targetNamespace =
>>> "http://tourml.ru/serviceSecurity/2006-03-14/", header = true)
>>>   ru.tourml.servicesecurity._2006_03_14.UserSessionId UserSessionId);
>>>
>>> but in CFX-2.0.1:
>>>
>>> @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
>>> @WebMethod(action = "http://tourml.ru/service/2006-03-14/Search",
>>> operationName = "Search")
>>> @WebResult(targetNamespace = "http://tourml.ru/service/2006-03-14",
>>> partName
>>> = "parameters", name = "SearchResponse")
>>> public ru.tourml.service._2006_03_14.SearchResponse search(
>>>   @WebParam(targetNamespace = "http://tourml.ru/service/2006-03-14",
>>> partName = "parameters", name = "Search")
>>>   ru.tourml.service._2006_03_14.Search parameters);
>>>
>>> the UserSessionId is not present as argument.
>>>
>>> How can i supply the request with the required header? Why it doesn't
>>> present in generated API?
>>>
>>>   
>>>       
>>     
>
>
>
>   

Re: wsdl2java - soap:header handling/generation

Posted by exgorth <ex...@gmail.com>.
One more..

I've generated stubs with:
wsdl2java -d .\generated -exsh true -client
http://touralliance.bronni.ru/Loader.asmx?wsdl


And whee invoking generated client i'm getting:

INFO: Creating Service {http://tourml.ru/service/2006-03-14}Loader from
WSDL: http://touralliance.bronni.ru/Loader.asmx?wsdl
Exception in thread "main" javax.xml.ws.WebServiceException:
org.apache.cxf.service.factory.ServiceConstructionException: Could not find
a message part matching name
{http://tourml.ru/serviceSecurity/2006-03-14/}UserSessionId.  Possible
values are [{http://tourml.ru/service/2006-03-14}UserSessionId].
	at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:243)
	at javax.xml.ws.Service.getPort(Service.java:94)
	at ru.tourml.service._2006_03_14.Loader.getLoaderSoap(Loader.java:51)
	at ru.invito.ws.client.bronni.App.main(App.java:49)
Caused by: org.apache.cxf.service.factory.ServiceConstructionException:
Could not find a message part matching name
{http://tourml.ru/serviceSecurity/2006-03-14/}UserSessionId.  Possible
values are [{http://tourml.ru/service/2006-03-14}UserSessionId].
	at
org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.initializeParameter(JaxWsServiceFactoryBean.java:391)
	at
org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.initializeClassInfo(JaxWsServiceFactoryBean.java:358)
	at
org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.initializeWSDLOperation(JaxWsServiceFactoryBean.java:173)
	at
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeWSDLOperations(ReflectionServiceFactoryBean.java:319)
	at
org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.initializeWSDLOperations(JaxWsServiceFactoryBean.java:182)
	at
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromWSDL(ReflectionServiceFactoryBean.java:211)
	at
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:262)
	at
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:143)
	at
org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:89)
	at
org.apache.cxf.frontend.AbstractEndpointFactory.createEndpoint(AbstractEndpointFactory.java:81)
	at
org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:50)
	at
org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:89)
	at org.apache.cxf.jaxws.ServiceImpl.createPort(ServiceImpl.java:336)
	at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:241)
	... 3 more




Jim Ma-3 wrote:
> 
> Hi exgorth ,
> 
> You use the "wsdl2java -exsh true " to generate the parameter for soap 
> header .
> 
> Regards
> 
> Jim
> 
> exgorth wrote:
>> The service i'm trying to access accepts the auth info in custom way -
>> client
>> must specify a soap:header with login:password pair and receive a token,
>> that must be included as soap:header in all further requests.
>>
>> The problem that in generated code (wsdl2java) any info about that is not
>> present.
>>
>> In XFIRE 1.2.4 the generated method was:
>>
>> @WebMethod(operationName = "Search", action =
>> "http://tourml.ru/service/2006-03-14/Search")
>> @WebResult(name = "TourML", targetNamespace =
>> "http://tourml.ru/products/2004-04-19")
>> public TourML search(
>>   @WebParam(name = "request", targetNamespace =
>> "http://tourml.ru/query-request/2004-07-07")
>>   Request request,
>>   @WebParam(name = "UserSessionId", targetNamespace =
>> "http://tourml.ru/serviceSecurity/2006-03-14/", header = true)
>>   ru.tourml.servicesecurity._2006_03_14.UserSessionId UserSessionId);
>>
>> but in CFX-2.0.1:
>>
>> @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
>> @WebMethod(action = "http://tourml.ru/service/2006-03-14/Search",
>> operationName = "Search")
>> @WebResult(targetNamespace = "http://tourml.ru/service/2006-03-14",
>> partName
>> = "parameters", name = "SearchResponse")
>> public ru.tourml.service._2006_03_14.SearchResponse search(
>>   @WebParam(targetNamespace = "http://tourml.ru/service/2006-03-14",
>> partName = "parameters", name = "Search")
>>   ru.tourml.service._2006_03_14.Search parameters);
>>
>> the UserSessionId is not present as argument.
>>
>> How can i supply the request with the required header? Why it doesn't
>> present in generated API?
>>
>>   
> 
> 



-- 
View this message in context: http://www.nabble.com/wsdl2java---soap%3Aheader-handling-generation-tf4358725.html#a12423051
Sent from the cxf-user mailing list archive at Nabble.com.


Re: wsdl2java - soap:header handling/generation

Posted by Jim Ma <em...@iona.com>.
 Sorry , forget to metion , you need to  add this dependency to 
cxf-codegen-plugin :
             <plugin>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-codegen-plugin</artifactId>
                <dependencies>
                  <dependency>
                    <groupId>org.apache.cxf</groupId>
                    <artifactId>cxf-rt-bindings-soap</artifactId>
                    <version>${project.version}</version>
                  </dependency>
                </dependencies>

                <executions>
                    <execution>
                 
                    </execution>
                </executions>
            </plugin>

Jim Ma wrote:
> You need to add the soap binding dependency in your pom :
>
>        <dependency>
>            <groupId>org.apache.cxf</groupId>
>            <artifactId>cxf-rt-bindings-soap</artifactId>
>            <version>2.0.1-incubator</version>
>        </dependency>
>
> -Jim
>
>
> exgorth wrote:
>> Thanx wsdl2java works fine with this flags, but i'm trying to use maven:
>>
>> <?xml version="1.0"?>
>> <project>
>>     <parent>
>>         <artifactId>bronni-ws-client</artifactId>
>>         <groupId>ru.invito.ws.client.bronni</groupId>
>>         <version>1.0-SNAPSHOT</version>
>>     </parent>
>>     <modelVersion>4.0.0</modelVersion>
>>     <groupId>ru.invito.ws.client.bronni.model</groupId>
>>     <artifactId>bronni-model</artifactId>
>>     <name>bronni-model</name>
>>     <version>1.0-SNAPSHOT</version>
>>     <url>http://maven.apache.org</url>
>>     <dependencies>
>>         <dependency>
>>             <groupId>junit</groupId>
>>             <artifactId>junit</artifactId>
>>         </dependency>
>>         <dependency>
>>             <groupId>org.apache.cxf</groupId>
>>             <artifactId>cxf-rt-frontend-jaxws</artifactId>
>>             <version>2.0.1-incubator</version>
>>             <scope>compile</scope>
>>         </dependency>
>>     </dependencies>
>>     <build>
>>         <plugins>
>>             <plugin>
>>                 <groupId>org.apache.cxf</groupId>
>>                 <artifactId>cxf-codegen-plugin</artifactId>
>>                 <version>2.0.1-incubator</version>
>>                 <executions>
>>                     <execution>
>>                         <id>generate-sources</id>
>>                         <phase>generate-sources</phase>
>>                         <configuration>
>>                             <!--                                
>> <sourceRoot>${basedir}/target/generated/src/main/java</sourceRoot>
>>                             -->
>>                             <wsdlOptions>
>>                                 <!-- 
>>                                     <wsdlOption>
>>                                    
>> <wsdl>http://touralliance.bronni.ru/TourMLSearch.asmx?wsdl</wsdl>
>>                                     </wsdlOption>
>>                                     <wsdlOption>
>>                                    
>> <wsdl>http://touralliance.bronni.ru/Booking.asmx?wsdl</wsdl>
>>                                     </wsdlOption>
>>                                 -->
>>                                 <wsdlOption>
>>                                    
>> <wsdl>http://touralliance.bronni.ru/Loader.asmx?wsdl</wsdl>
>>                                     <extraargs>
>>                                         <extraarg>-exsh</extraarg>
>>                                         <extraarg>true</extraarg>
>>                                         <extraarg>-verbose</extraarg>
>>                                     </extraargs>
>>                                 </wsdlOption>
>>                             </wsdlOptions>
>>                         </configuration>
>>                         <goals>
>>                             <goal>wsdl2java</goal>
>>                         </goals>
>>                     </execution>
>>                 </executions>
>>             </plugin>
>>         </plugins>
>>     </build>
>> </project>
>>
>> and i'm getting the following error:
>>
>> INFO: Loading <jaxb> databinding from <jaxb> plugin.
>> Loading FrontEnd jaxws ...
>> Loading DataBinding jaxb ...
>> wsdl2java -d C:\bronni\bronni-model\target\generated\src\main\java -exsh
>> true -verbose http://touralliance.bronni.ru/Loader.asmx?wsdl
>> wsdl2java - 2.0.1-incubator
>>
>> 31.08.2007 12:37:40
>> org.springframework.context.support.AbstractApplicationContext refresh
>> INFO: Refreshing org.apache.cxf.bus.spring.BusApplicationContext@2431b9:
>> display name [org.apache.cxf.bus.spring.BusApplicationContext@2431b9];
>> startup date [Fri Aug 31 1
>> 2:37:40 MSD 2007]; root of context hierarchy
>> 31.08.2007 12:37:41
>> org.springframework.beans.factory.xml.XmlBeanDefinitionReader
>> loadBeanDefinitions
>> INFO: Loading XML bean definitions from class path resource
>> [META-INF/cxf/cxf.xml]
>> 31.08.2007 12:37:41
>> org.springframework.context.support.AbstractApplicationContext refresh
>> INFO: Bean factory for application context
>> [org.apache.cxf.bus.spring.BusApplicationContext@2431b9]:
>> org.springframework.beans.factory.support.DefaultListableBeanFactory@
>> 1de007d
>> 31.08.2007 12:37:41
>> org.springframework.context.support.AbstractApplicationContext$BeanPostProcessorChecker 
>>
>> postProcessAfterInitialization
>> INFO: Bean 'org.apache.cxf.bus.spring.Jsr250BeanPostProcessor' is not
>> eligible for getting processed by all BeanPostProcessors (for 
>> example: not
>> eligible for auto-proxyin
>> g)
>> 31.08.2007 12:37:41
>> org.springframework.context.support.AbstractApplicationContext$BeanPostProcessorChecker 
>>
>> postProcessAfterInitialization
>> INFO: Bean 'cxf' is not eligible for getting processed by all
>> BeanPostProcessors (for example: not eligible for auto-proxying)
>> 31.08.2007 12:37:41
>> org.springframework.context.support.AbstractApplicationContext$BeanPostProcessorChecker 
>>
>> postProcessAfterInitialization
>> INFO: Bean 'org.apache.cxf.bus.spring.BusExtensionPostProcessor' is not
>> eligible for getting processed by all BeanPostProcessors (for 
>> example: not
>> eligible for auto-proxy
>> ing)
>> 31.08.2007 12:37:41
>> org.springframework.beans.factory.support.DefaultListableBeanFactory
>> preInstantiateSingletons
>> INFO: Pre-instantiating singletons in
>> org.springframework.beans.factory.support.DefaultListableBeanFactory@1de007d: 
>>
>> defining beans [cxf,org.apache.cxf.bus.spring.Jsr250Be
>> anPostProcessor,org.apache.cxf.bus.spring.BusExtensionPostProcessor,org.apache.cxf.resource.ResourceManager,org.apache.cxf.binding.BindingFactoryManager,org.apache.cxf.tr 
>>
>> ansport.DestinationFactoryManager,org.apache.cxf.transport.ConduitInitiatorManager,org.apache.cxf.wsdl.WSDLManager,org.apache.cxf.phase.PhaseManager,org.apache.cxf.workqu 
>>
>> eue.WorkQueueManager,org.apache.cxf.buslifecycle.BusLifeCycleManager,org.apache.cxf.endpoint.ServerRegistry,org.apache.cxf.endpoint.ServerLifeCycleManager,org.apache.cxf. 
>>
>> endpoint.ClientLifeCycleManager,org.apache.cxf.transports.http.QueryHandlerRegistry,org.apache.cxf.endpoint.EndpointResolverRegistry,org.apache.cxf.headers.HeaderManager, 
>>
>> org.apache.cxf.catalog.OASISCatalogManager]; root of factory hierarchy
>> 31.08.2007 12:37:56
>> org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ParameterProcessor 
>>
>> processInput
>> WARNING: Can not find the soap binding in your classpath
>>   Will not generate the extra parameter.
>> 31.08.2007 12:37:56
>> org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ParameterProcessor 
>>
>> processInput
>> WARNING: Can not find the soap binding in your classpath
>>   Will not generate the extra parameter.
>> 31.08.2007 12:37:56
>> org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ParameterProcessor 
>>
>> processInput
>> WARNING: Can not find the soap binding in your classpath
>>   Will not generate the extra parameter.
>> 31.08.2007 12:37:56
>> org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ParameterProcessor 
>>
>> processInput
>> WARNING: Can not find the soap binding in your classpath
>>   Will not generate the extra parameter.
>>
>> WSDLToJava Error : java.lang.NullPointerException
>>
>> org.apache.cxf.tools.common.ToolException: 
>> java.lang.NullPointerException
>>         at
>> org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:242) 
>>
>>         at
>> org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:83) 
>>
>>         at 
>> org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:102)
>>         at 
>> org.apache.cxf.tools.wsdlto.WSDLToJava.main(WSDLToJava.java:171)
>>         at
>> org.apache.cxf.maven_plugin.WSDL2JavaMojo.processWsdl(WSDL2JavaMojo.java:186) 
>>
>>         at
>> org.apache.cxf.maven_plugin.WSDL2JavaMojo.execute(WSDL2JavaMojo.java:102) 
>>
>>         at
>> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:443) 
>>
>>         at
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:539) 
>>
>>         at
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:480) 
>>
>>         at
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:459) 
>>
>>         at
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:311) 
>>
>>         at
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:278) 
>>
>>         at
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:143) 
>>
>>         at 
>> org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:334)
>>         at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:125)
>>         at org.apache.maven.cli.MavenCli.main(MavenCli.java:280)
>>         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.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
>>         at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
>>         at
>> org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
>>         at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
>> Caused by: java.lang.NullPointerException
>>         at
>> org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ServiceProcessor.processParameter(ServiceProcessor.java:448) 
>>
>>         at
>> org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ServiceProcessor.processOperation(ServiceProcessor.java:386) 
>>
>>         at
>> org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ServiceProcessor.processPort(ServiceProcessor.java:266) 
>>
>>         at
>> org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ServiceProcessor.processService(ServiceProcessor.java:192) 
>>
>>         at
>> org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ServiceProcessor.process(ServiceProcessor.java:98) 
>>
>>         at
>> org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.WSDLToJavaProcessor.wsdlDefinitionToJavaModel(WSDLToJavaProcessor.java:90) 
>>
>>         at
>> org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.WSDLToJavaProcessor.process(WSDLToJavaProcessor.java:59) 
>>
>>         at
>> org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:198) 
>>
>>         at
>> org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:234) 
>>
>>         ... 23 more
>> [INFO]
>> ------------------------------------------------------------------------
>> [ERROR] BUILD ERROR
>> [INFO]
>> ------------------------------------------------------------------------
>> [INFO] ExitException: status 1
>>
>> [INFO]
>> ------------------------------------------------------------------------
>> [INFO] For more information, run Maven with the -e switch
>> [INFO]
>> ------------------------------------------------------------------------
>> [INFO] Total time: 1 minute 12 seconds
>> [INFO] Finished at: Fri Aug 31 12:37:56 MSD 2007
>> [INFO] Final Memory: 11M/28M
>> [INFO]
>> ------------------------------------------------------------------------
>>
>>
>> Jim Ma-3 wrote:
>>  
>>> Hi exgorth ,
>>>
>>> You use the "wsdl2java -exsh true " to generate the parameter for 
>>> soap header .
>>>
>>> Regards
>>>
>>> Jim
>>>
>>> exgorth wrote:
>>>    
>>>> The service i'm trying to access accepts the auth info in custom way -
>>>> client
>>>> must specify a soap:header with login:password pair and receive a 
>>>> token,
>>>> that must be included as soap:header in all further requests.
>>>>
>>>> The problem that in generated code (wsdl2java) any info about that 
>>>> is not
>>>> present.
>>>>
>>>> In XFIRE 1.2.4 the generated method was:
>>>>
>>>> @WebMethod(operationName = "Search", action =
>>>> "http://tourml.ru/service/2006-03-14/Search")
>>>> @WebResult(name = "TourML", targetNamespace =
>>>> "http://tourml.ru/products/2004-04-19")
>>>> public TourML search(
>>>>   @WebParam(name = "request", targetNamespace =
>>>> "http://tourml.ru/query-request/2004-07-07")
>>>>   Request request,
>>>>   @WebParam(name = "UserSessionId", targetNamespace =
>>>> "http://tourml.ru/serviceSecurity/2006-03-14/", header = true)
>>>>   ru.tourml.servicesecurity._2006_03_14.UserSessionId UserSessionId);
>>>>
>>>> but in CFX-2.0.1:
>>>>
>>>> @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
>>>> @WebMethod(action = "http://tourml.ru/service/2006-03-14/Search",
>>>> operationName = "Search")
>>>> @WebResult(targetNamespace = "http://tourml.ru/service/2006-03-14",
>>>> partName
>>>> = "parameters", name = "SearchResponse")
>>>> public ru.tourml.service._2006_03_14.SearchResponse search(
>>>>   @WebParam(targetNamespace = "http://tourml.ru/service/2006-03-14",
>>>> partName = "parameters", name = "Search")
>>>>   ru.tourml.service._2006_03_14.Search parameters);
>>>>
>>>> the UserSessionId is not present as argument.
>>>>
>>>> How can i supply the request with the required header? Why it doesn't
>>>> present in generated API?
>>>>
>>>>         
>>>     
>>
>>   
>

Re: wsdl2java - soap:header handling/generation

Posted by exgorth <ex...@gmail.com>.
I've just added as you suggested, but no effect. The problem remains..

WARNING: Can not find the soap binding in your classpath
WSDLToJava Error : java.lang.NullPointerException

org.apache.cxf.tools.common.ToolException: java.lang.NullPointerException
        at
org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:242)
        at
org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:83)
        at org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:102)
        at org.apache.cxf.tools.wsdlto.WSDLToJava.main(WSDLToJava.java:171)
        at
org.apache.cxf.maven_plugin.WSDL2JavaMojo.processWsdl(WSDL2JavaMojo.java:186)
        at
org.apache.cxf.maven_plugin.WSDL2JavaMojo.execute(WSDL2JavaMojo.java:102)
        at
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:443)
        at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:539)
        at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:480)
        at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:459)
        at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:311)
        at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:278)
        at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:143)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:334)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:125)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:280)
        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.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
        at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
        at
org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: java.lang.NullPointerException
        at
org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ServiceProcessor.processParameter(ServiceProcessor.java:448)
        at
org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ServiceProcessor.processOperation(ServiceProcessor.java:386)
        at
org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ServiceProcessor.processPort(ServiceProcessor.java:266)
        at
org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ServiceProcessor.processService(ServiceProcessor.java:192)
        at
org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ServiceProcessor.process(ServiceProcessor.java:98)
        at
org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.WSDLToJavaProcessor.wsdlDefinitionToJavaModel(WSDLToJavaProcessor.java:90)
        at
org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.WSDLToJavaProcessor.process(WSDLToJavaProcessor.java:59)
        at
org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:198)
        at
org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:234)
        ... 23 more
[INFO]
------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO]
------------------------------------------------------------------------
[INFO] ExitException: status 1



Jim Ma-3 wrote:
> 
> You need to add the soap binding dependency in your pom :
> 
>         <dependency>
>             <groupId>org.apache.cxf</groupId>
>             <artifactId>cxf-rt-bindings-soap</artifactId>
>             <version>2.0.1-incubator</version>
>         </dependency>
> 
> -Jim
> 
> 
> exgorth wrote:
>> Thanx wsdl2java works fine with this flags, but i'm trying to use maven:
>>
>> <?xml version="1.0"?>
>> <project>
>>     <parent>
>>         <artifactId>bronni-ws-client</artifactId>
>>         <groupId>ru.invito.ws.client.bronni</groupId>
>>         <version>1.0-SNAPSHOT</version>
>>     </parent>
>>     <modelVersion>4.0.0</modelVersion>
>>     <groupId>ru.invito.ws.client.bronni.model</groupId>
>>     <artifactId>bronni-model</artifactId>
>>     <name>bronni-model</name>
>>     <version>1.0-SNAPSHOT</version>
>>     <url>http://maven.apache.org</url>
>>     <dependencies>
>>         <dependency>
>>             <groupId>junit</groupId>
>>             <artifactId>junit</artifactId>
>>         </dependency>
>>         <dependency>
>>             <groupId>org.apache.cxf</groupId>
>>             <artifactId>cxf-rt-frontend-jaxws</artifactId>
>>             <version>2.0.1-incubator</version>
>>             <scope>compile</scope>
>>         </dependency>
>>     </dependencies>
>>     <build>
>>         <plugins>
>>             <plugin>
>>                 <groupId>org.apache.cxf</groupId>
>>                 <artifactId>cxf-codegen-plugin</artifactId>
>>                 <version>2.0.1-incubator</version>
>>                 <executions>
>>                     <execution>
>>                         <id>generate-sources</id>
>>                         <phase>generate-sources</phase>
>>                         <configuration>
>>                             <!-- 
>>                                
>> <sourceRoot>${basedir}/target/generated/src/main/java</sourceRoot>
>>                             -->
>>                             <wsdlOptions>
>>                                 <!-- 
>>                                     <wsdlOption>
>>                                    
>> <wsdl>http://touralliance.bronni.ru/TourMLSearch.asmx?wsdl</wsdl>
>>                                     </wsdlOption>
>>                                     <wsdlOption>
>>                                    
>> <wsdl>http://touralliance.bronni.ru/Booking.asmx?wsdl</wsdl>
>>                                     </wsdlOption>
>>                                 -->
>>                                 <wsdlOption>
>>                                    
>> <wsdl>http://touralliance.bronni.ru/Loader.asmx?wsdl</wsdl>
>>                                     <extraargs>
>>                                         <extraarg>-exsh</extraarg>
>>                                         <extraarg>true</extraarg>
>>                                         <extraarg>-verbose</extraarg>
>>                                     </extraargs>
>>                                 </wsdlOption>
>>                             </wsdlOptions>
>>                         </configuration>
>>                         <goals>
>>                             <goal>wsdl2java</goal>
>>                         </goals>
>>                     </execution>
>>                 </executions>
>>             </plugin>
>>         </plugins>
>>     </build>
>> </project>
>>
>> and i'm getting the following error:
>>
>> INFO: Loading <jaxb> databinding from <jaxb> plugin.
>> Loading FrontEnd jaxws ...
>> Loading DataBinding jaxb ...
>> wsdl2java -d C:\bronni\bronni-model\target\generated\src\main\java -exsh
>> true -verbose http://touralliance.bronni.ru/Loader.asmx?wsdl
>> wsdl2java - 2.0.1-incubator
>>
>> 31.08.2007 12:37:40
>> org.springframework.context.support.AbstractApplicationContext refresh
>> INFO: Refreshing org.apache.cxf.bus.spring.BusApplicationContext@2431b9:
>> display name [org.apache.cxf.bus.spring.BusApplicationContext@2431b9];
>> startup date [Fri Aug 31 1
>> 2:37:40 MSD 2007]; root of context hierarchy
>> 31.08.2007 12:37:41
>> org.springframework.beans.factory.xml.XmlBeanDefinitionReader
>> loadBeanDefinitions
>> INFO: Loading XML bean definitions from class path resource
>> [META-INF/cxf/cxf.xml]
>> 31.08.2007 12:37:41
>> org.springframework.context.support.AbstractApplicationContext refresh
>> INFO: Bean factory for application context
>> [org.apache.cxf.bus.spring.BusApplicationContext@2431b9]:
>> org.springframework.beans.factory.support.DefaultListableBeanFactory@
>> 1de007d
>> 31.08.2007 12:37:41
>> org.springframework.context.support.AbstractApplicationContext$BeanPostProcessorChecker
>> postProcessAfterInitialization
>> INFO: Bean 'org.apache.cxf.bus.spring.Jsr250BeanPostProcessor' is not
>> eligible for getting processed by all BeanPostProcessors (for example:
>> not
>> eligible for auto-proxyin
>> g)
>> 31.08.2007 12:37:41
>> org.springframework.context.support.AbstractApplicationContext$BeanPostProcessorChecker
>> postProcessAfterInitialization
>> INFO: Bean 'cxf' is not eligible for getting processed by all
>> BeanPostProcessors (for example: not eligible for auto-proxying)
>> 31.08.2007 12:37:41
>> org.springframework.context.support.AbstractApplicationContext$BeanPostProcessorChecker
>> postProcessAfterInitialization
>> INFO: Bean 'org.apache.cxf.bus.spring.BusExtensionPostProcessor' is not
>> eligible for getting processed by all BeanPostProcessors (for example:
>> not
>> eligible for auto-proxy
>> ing)
>> 31.08.2007 12:37:41
>> org.springframework.beans.factory.support.DefaultListableBeanFactory
>> preInstantiateSingletons
>> INFO: Pre-instantiating singletons in
>> org.springframework.beans.factory.support.DefaultListableBeanFactory@1de007d:
>> defining beans [cxf,org.apache.cxf.bus.spring.Jsr250Be
>> anPostProcessor,org.apache.cxf.bus.spring.BusExtensionPostProcessor,org.apache.cxf.resource.ResourceManager,org.apache.cxf.binding.BindingFactoryManager,org.apache.cxf.tr
>> ansport.DestinationFactoryManager,org.apache.cxf.transport.ConduitInitiatorManager,org.apache.cxf.wsdl.WSDLManager,org.apache.cxf.phase.PhaseManager,org.apache.cxf.workqu
>> eue.WorkQueueManager,org.apache.cxf.buslifecycle.BusLifeCycleManager,org.apache.cxf.endpoint.ServerRegistry,org.apache.cxf.endpoint.ServerLifeCycleManager,org.apache.cxf.
>> endpoint.ClientLifeCycleManager,org.apache.cxf.transports.http.QueryHandlerRegistry,org.apache.cxf.endpoint.EndpointResolverRegistry,org.apache.cxf.headers.HeaderManager,
>> org.apache.cxf.catalog.OASISCatalogManager]; root of factory hierarchy
>> 31.08.2007 12:37:56
>> org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ParameterProcessor
>> processInput
>> WARNING: Can not find the soap binding in your classpath
>>   Will not generate the extra parameter.
>> 31.08.2007 12:37:56
>> org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ParameterProcessor
>> processInput
>> WARNING: Can not find the soap binding in your classpath
>>   Will not generate the extra parameter.
>> 31.08.2007 12:37:56
>> org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ParameterProcessor
>> processInput
>> WARNING: Can not find the soap binding in your classpath
>>   Will not generate the extra parameter.
>> 31.08.2007 12:37:56
>> org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ParameterProcessor
>> processInput
>> WARNING: Can not find the soap binding in your classpath
>>   Will not generate the extra parameter.
>>
>> WSDLToJava Error : java.lang.NullPointerException
>>
>> org.apache.cxf.tools.common.ToolException: java.lang.NullPointerException
>>         at
>> org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:242)
>>         at
>> org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:83)
>>         at
>> org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:102)
>>         at
>> org.apache.cxf.tools.wsdlto.WSDLToJava.main(WSDLToJava.java:171)
>>         at
>> org.apache.cxf.maven_plugin.WSDL2JavaMojo.processWsdl(WSDL2JavaMojo.java:186)
>>         at
>> org.apache.cxf.maven_plugin.WSDL2JavaMojo.execute(WSDL2JavaMojo.java:102)
>>         at
>> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:443)
>>         at
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:539)
>>         at
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:480)
>>         at
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:459)
>>         at
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:311)
>>         at
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:278)
>>         at
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:143)
>>         at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:334)
>>         at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:125)
>>         at org.apache.maven.cli.MavenCli.main(MavenCli.java:280)
>>         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.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
>>         at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
>>         at
>> org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
>>         at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
>> Caused by: java.lang.NullPointerException
>>         at
>> org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ServiceProcessor.processParameter(ServiceProcessor.java:448)
>>         at
>> org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ServiceProcessor.processOperation(ServiceProcessor.java:386)
>>         at
>> org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ServiceProcessor.processPort(ServiceProcessor.java:266)
>>         at
>> org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ServiceProcessor.processService(ServiceProcessor.java:192)
>>         at
>> org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ServiceProcessor.process(ServiceProcessor.java:98)
>>         at
>> org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.WSDLToJavaProcessor.wsdlDefinitionToJavaModel(WSDLToJavaProcessor.java:90)
>>         at
>> org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.WSDLToJavaProcessor.process(WSDLToJavaProcessor.java:59)
>>         at
>> org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:198)
>>         at
>> org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:234)
>>         ... 23 more
>> [INFO]
>> ------------------------------------------------------------------------
>> [ERROR] BUILD ERROR
>> [INFO]
>> ------------------------------------------------------------------------
>> [INFO] ExitException: status 1
>>
>> [INFO]
>> ------------------------------------------------------------------------
>> [INFO] For more information, run Maven with the -e switch
>> [INFO]
>> ------------------------------------------------------------------------
>> [INFO] Total time: 1 minute 12 seconds
>> [INFO] Finished at: Fri Aug 31 12:37:56 MSD 2007
>> [INFO] Final Memory: 11M/28M
>> [INFO]
>> ------------------------------------------------------------------------
>>
>>
>> Jim Ma-3 wrote:
>>   
>>> Hi exgorth ,
>>>
>>> You use the "wsdl2java -exsh true " to generate the parameter for soap 
>>> header .
>>>
>>> Regards
>>>
>>> Jim
>>>
>>> exgorth wrote:
>>>     
>>>> The service i'm trying to access accepts the auth info in custom way -
>>>> client
>>>> must specify a soap:header with login:password pair and receive a
>>>> token,
>>>> that must be included as soap:header in all further requests.
>>>>
>>>> The problem that in generated code (wsdl2java) any info about that is
>>>> not
>>>> present.
>>>>
>>>> In XFIRE 1.2.4 the generated method was:
>>>>
>>>> @WebMethod(operationName = "Search", action =
>>>> "http://tourml.ru/service/2006-03-14/Search")
>>>> @WebResult(name = "TourML", targetNamespace =
>>>> "http://tourml.ru/products/2004-04-19")
>>>> public TourML search(
>>>>   @WebParam(name = "request", targetNamespace =
>>>> "http://tourml.ru/query-request/2004-07-07")
>>>>   Request request,
>>>>   @WebParam(name = "UserSessionId", targetNamespace =
>>>> "http://tourml.ru/serviceSecurity/2006-03-14/", header = true)
>>>>   ru.tourml.servicesecurity._2006_03_14.UserSessionId UserSessionId);
>>>>
>>>> but in CFX-2.0.1:
>>>>
>>>> @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
>>>> @WebMethod(action = "http://tourml.ru/service/2006-03-14/Search",
>>>> operationName = "Search")
>>>> @WebResult(targetNamespace = "http://tourml.ru/service/2006-03-14",
>>>> partName
>>>> = "parameters", name = "SearchResponse")
>>>> public ru.tourml.service._2006_03_14.SearchResponse search(
>>>>   @WebParam(targetNamespace = "http://tourml.ru/service/2006-03-14",
>>>> partName = "parameters", name = "Search")
>>>>   ru.tourml.service._2006_03_14.Search parameters);
>>>>
>>>> the UserSessionId is not present as argument.
>>>>
>>>> How can i supply the request with the required header? Why it doesn't
>>>> present in generated API?
>>>>
>>>>   
>>>>       
>>>     
>>
>>   
> 
> 

-- 
View this message in context: http://www.nabble.com/wsdl2java---soap%3Aheader-handling-generation-tf4358725.html#a12423278
Sent from the cxf-user mailing list archive at Nabble.com.


Re: wsdl2java - soap:header handling/generation

Posted by Jim Ma <em...@iona.com>.
You need to add the soap binding dependency in your pom :

        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-bindings-soap</artifactId>
            <version>2.0.1-incubator</version>
        </dependency>

-Jim


exgorth wrote:
> Thanx wsdl2java works fine with this flags, but i'm trying to use maven:
>
> <?xml version="1.0"?>
> <project>
>     <parent>
>         <artifactId>bronni-ws-client</artifactId>
>         <groupId>ru.invito.ws.client.bronni</groupId>
>         <version>1.0-SNAPSHOT</version>
>     </parent>
>     <modelVersion>4.0.0</modelVersion>
>     <groupId>ru.invito.ws.client.bronni.model</groupId>
>     <artifactId>bronni-model</artifactId>
>     <name>bronni-model</name>
>     <version>1.0-SNAPSHOT</version>
>     <url>http://maven.apache.org</url>
>     <dependencies>
>         <dependency>
>             <groupId>junit</groupId>
>             <artifactId>junit</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>org.apache.cxf</groupId>
>             <artifactId>cxf-rt-frontend-jaxws</artifactId>
>             <version>2.0.1-incubator</version>
>             <scope>compile</scope>
>         </dependency>
>     </dependencies>
>     <build>
>         <plugins>
>             <plugin>
>                 <groupId>org.apache.cxf</groupId>
>                 <artifactId>cxf-codegen-plugin</artifactId>
>                 <version>2.0.1-incubator</version>
>                 <executions>
>                     <execution>
>                         <id>generate-sources</id>
>                         <phase>generate-sources</phase>
>                         <configuration>
>                             <!-- 
>                                
> <sourceRoot>${basedir}/target/generated/src/main/java</sourceRoot>
>                             -->
>                             <wsdlOptions>
>                                 <!-- 
>                                     <wsdlOption>
>                                    
> <wsdl>http://touralliance.bronni.ru/TourMLSearch.asmx?wsdl</wsdl>
>                                     </wsdlOption>
>                                     <wsdlOption>
>                                    
> <wsdl>http://touralliance.bronni.ru/Booking.asmx?wsdl</wsdl>
>                                     </wsdlOption>
>                                 -->
>                                 <wsdlOption>
>                                    
> <wsdl>http://touralliance.bronni.ru/Loader.asmx?wsdl</wsdl>
>                                     <extraargs>
>                                         <extraarg>-exsh</extraarg>
>                                         <extraarg>true</extraarg>
>                                         <extraarg>-verbose</extraarg>
>                                     </extraargs>
>                                 </wsdlOption>
>                             </wsdlOptions>
>                         </configuration>
>                         <goals>
>                             <goal>wsdl2java</goal>
>                         </goals>
>                     </execution>
>                 </executions>
>             </plugin>
>         </plugins>
>     </build>
> </project>
>
> and i'm getting the following error:
>
> INFO: Loading <jaxb> databinding from <jaxb> plugin.
> Loading FrontEnd jaxws ...
> Loading DataBinding jaxb ...
> wsdl2java -d C:\bronni\bronni-model\target\generated\src\main\java -exsh
> true -verbose http://touralliance.bronni.ru/Loader.asmx?wsdl
> wsdl2java - 2.0.1-incubator
>
> 31.08.2007 12:37:40
> org.springframework.context.support.AbstractApplicationContext refresh
> INFO: Refreshing org.apache.cxf.bus.spring.BusApplicationContext@2431b9:
> display name [org.apache.cxf.bus.spring.BusApplicationContext@2431b9];
> startup date [Fri Aug 31 1
> 2:37:40 MSD 2007]; root of context hierarchy
> 31.08.2007 12:37:41
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader
> loadBeanDefinitions
> INFO: Loading XML bean definitions from class path resource
> [META-INF/cxf/cxf.xml]
> 31.08.2007 12:37:41
> org.springframework.context.support.AbstractApplicationContext refresh
> INFO: Bean factory for application context
> [org.apache.cxf.bus.spring.BusApplicationContext@2431b9]:
> org.springframework.beans.factory.support.DefaultListableBeanFactory@
> 1de007d
> 31.08.2007 12:37:41
> org.springframework.context.support.AbstractApplicationContext$BeanPostProcessorChecker
> postProcessAfterInitialization
> INFO: Bean 'org.apache.cxf.bus.spring.Jsr250BeanPostProcessor' is not
> eligible for getting processed by all BeanPostProcessors (for example: not
> eligible for auto-proxyin
> g)
> 31.08.2007 12:37:41
> org.springframework.context.support.AbstractApplicationContext$BeanPostProcessorChecker
> postProcessAfterInitialization
> INFO: Bean 'cxf' is not eligible for getting processed by all
> BeanPostProcessors (for example: not eligible for auto-proxying)
> 31.08.2007 12:37:41
> org.springframework.context.support.AbstractApplicationContext$BeanPostProcessorChecker
> postProcessAfterInitialization
> INFO: Bean 'org.apache.cxf.bus.spring.BusExtensionPostProcessor' is not
> eligible for getting processed by all BeanPostProcessors (for example: not
> eligible for auto-proxy
> ing)
> 31.08.2007 12:37:41
> org.springframework.beans.factory.support.DefaultListableBeanFactory
> preInstantiateSingletons
> INFO: Pre-instantiating singletons in
> org.springframework.beans.factory.support.DefaultListableBeanFactory@1de007d:
> defining beans [cxf,org.apache.cxf.bus.spring.Jsr250Be
> anPostProcessor,org.apache.cxf.bus.spring.BusExtensionPostProcessor,org.apache.cxf.resource.ResourceManager,org.apache.cxf.binding.BindingFactoryManager,org.apache.cxf.tr
> ansport.DestinationFactoryManager,org.apache.cxf.transport.ConduitInitiatorManager,org.apache.cxf.wsdl.WSDLManager,org.apache.cxf.phase.PhaseManager,org.apache.cxf.workqu
> eue.WorkQueueManager,org.apache.cxf.buslifecycle.BusLifeCycleManager,org.apache.cxf.endpoint.ServerRegistry,org.apache.cxf.endpoint.ServerLifeCycleManager,org.apache.cxf.
> endpoint.ClientLifeCycleManager,org.apache.cxf.transports.http.QueryHandlerRegistry,org.apache.cxf.endpoint.EndpointResolverRegistry,org.apache.cxf.headers.HeaderManager,
> org.apache.cxf.catalog.OASISCatalogManager]; root of factory hierarchy
> 31.08.2007 12:37:56
> org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ParameterProcessor
> processInput
> WARNING: Can not find the soap binding in your classpath
>   Will not generate the extra parameter.
> 31.08.2007 12:37:56
> org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ParameterProcessor
> processInput
> WARNING: Can not find the soap binding in your classpath
>   Will not generate the extra parameter.
> 31.08.2007 12:37:56
> org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ParameterProcessor
> processInput
> WARNING: Can not find the soap binding in your classpath
>   Will not generate the extra parameter.
> 31.08.2007 12:37:56
> org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ParameterProcessor
> processInput
> WARNING: Can not find the soap binding in your classpath
>   Will not generate the extra parameter.
>
> WSDLToJava Error : java.lang.NullPointerException
>
> org.apache.cxf.tools.common.ToolException: java.lang.NullPointerException
>         at
> org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:242)
>         at
> org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:83)
>         at org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:102)
>         at org.apache.cxf.tools.wsdlto.WSDLToJava.main(WSDLToJava.java:171)
>         at
> org.apache.cxf.maven_plugin.WSDL2JavaMojo.processWsdl(WSDL2JavaMojo.java:186)
>         at
> org.apache.cxf.maven_plugin.WSDL2JavaMojo.execute(WSDL2JavaMojo.java:102)
>         at
> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:443)
>         at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:539)
>         at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:480)
>         at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:459)
>         at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:311)
>         at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:278)
>         at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:143)
>         at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:334)
>         at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:125)
>         at org.apache.maven.cli.MavenCli.main(MavenCli.java:280)
>         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.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
>         at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
>         at
> org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
>         at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
> Caused by: java.lang.NullPointerException
>         at
> org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ServiceProcessor.processParameter(ServiceProcessor.java:448)
>         at
> org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ServiceProcessor.processOperation(ServiceProcessor.java:386)
>         at
> org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ServiceProcessor.processPort(ServiceProcessor.java:266)
>         at
> org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ServiceProcessor.processService(ServiceProcessor.java:192)
>         at
> org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ServiceProcessor.process(ServiceProcessor.java:98)
>         at
> org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.WSDLToJavaProcessor.wsdlDefinitionToJavaModel(WSDLToJavaProcessor.java:90)
>         at
> org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.WSDLToJavaProcessor.process(WSDLToJavaProcessor.java:59)
>         at
> org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:198)
>         at
> org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:234)
>         ... 23 more
> [INFO]
> ------------------------------------------------------------------------
> [ERROR] BUILD ERROR
> [INFO]
> ------------------------------------------------------------------------
> [INFO] ExitException: status 1
>
> [INFO]
> ------------------------------------------------------------------------
> [INFO] For more information, run Maven with the -e switch
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Total time: 1 minute 12 seconds
> [INFO] Finished at: Fri Aug 31 12:37:56 MSD 2007
> [INFO] Final Memory: 11M/28M
> [INFO]
> ------------------------------------------------------------------------
>
>
> Jim Ma-3 wrote:
>   
>> Hi exgorth ,
>>
>> You use the "wsdl2java -exsh true " to generate the parameter for soap 
>> header .
>>
>> Regards
>>
>> Jim
>>
>> exgorth wrote:
>>     
>>> The service i'm trying to access accepts the auth info in custom way -
>>> client
>>> must specify a soap:header with login:password pair and receive a token,
>>> that must be included as soap:header in all further requests.
>>>
>>> The problem that in generated code (wsdl2java) any info about that is not
>>> present.
>>>
>>> In XFIRE 1.2.4 the generated method was:
>>>
>>> @WebMethod(operationName = "Search", action =
>>> "http://tourml.ru/service/2006-03-14/Search")
>>> @WebResult(name = "TourML", targetNamespace =
>>> "http://tourml.ru/products/2004-04-19")
>>> public TourML search(
>>>   @WebParam(name = "request", targetNamespace =
>>> "http://tourml.ru/query-request/2004-07-07")
>>>   Request request,
>>>   @WebParam(name = "UserSessionId", targetNamespace =
>>> "http://tourml.ru/serviceSecurity/2006-03-14/", header = true)
>>>   ru.tourml.servicesecurity._2006_03_14.UserSessionId UserSessionId);
>>>
>>> but in CFX-2.0.1:
>>>
>>> @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
>>> @WebMethod(action = "http://tourml.ru/service/2006-03-14/Search",
>>> operationName = "Search")
>>> @WebResult(targetNamespace = "http://tourml.ru/service/2006-03-14",
>>> partName
>>> = "parameters", name = "SearchResponse")
>>> public ru.tourml.service._2006_03_14.SearchResponse search(
>>>   @WebParam(targetNamespace = "http://tourml.ru/service/2006-03-14",
>>> partName = "parameters", name = "Search")
>>>   ru.tourml.service._2006_03_14.Search parameters);
>>>
>>> the UserSessionId is not present as argument.
>>>
>>> How can i supply the request with the required header? Why it doesn't
>>> present in generated API?
>>>
>>>   
>>>       
>>     
>
>   

Re: wsdl2java - soap:header handling/generation

Posted by exgorth <ex...@gmail.com>.
Thanx wsdl2java works fine with this flags, but i'm trying to use maven:

<?xml version="1.0"?>
<project>
    <parent>
        <artifactId>bronni-ws-client</artifactId>
        <groupId>ru.invito.ws.client.bronni</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <groupId>ru.invito.ws.client.bronni.model</groupId>
    <artifactId>bronni-model</artifactId>
    <name>bronni-model</name>
    <version>1.0-SNAPSHOT</version>
    <url>http://maven.apache.org</url>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-frontend-jaxws</artifactId>
            <version>2.0.1-incubator</version>
            <scope>compile</scope>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-codegen-plugin</artifactId>
                <version>2.0.1-incubator</version>
                <executions>
                    <execution>
                        <id>generate-sources</id>
                        <phase>generate-sources</phase>
                        <configuration>
                            <!-- 
                               
<sourceRoot>${basedir}/target/generated/src/main/java</sourceRoot>
                            -->
                            <wsdlOptions>
                                <!-- 
                                    <wsdlOption>
                                   
<wsdl>http://touralliance.bronni.ru/TourMLSearch.asmx?wsdl</wsdl>
                                    </wsdlOption>
                                    <wsdlOption>
                                   
<wsdl>http://touralliance.bronni.ru/Booking.asmx?wsdl</wsdl>
                                    </wsdlOption>
                                -->
                                <wsdlOption>
                                   
<wsdl>http://touralliance.bronni.ru/Loader.asmx?wsdl</wsdl>
                                    <extraargs>
                                        <extraarg>-exsh</extraarg>
                                        <extraarg>true</extraarg>
                                        <extraarg>-verbose</extraarg>
                                    </extraargs>
                                </wsdlOption>
                            </wsdlOptions>
                        </configuration>
                        <goals>
                            <goal>wsdl2java</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

and i'm getting the following error:

INFO: Loading <jaxb> databinding from <jaxb> plugin.
Loading FrontEnd jaxws ...
Loading DataBinding jaxb ...
wsdl2java -d C:\bronni\bronni-model\target\generated\src\main\java -exsh
true -verbose http://touralliance.bronni.ru/Loader.asmx?wsdl
wsdl2java - 2.0.1-incubator

31.08.2007 12:37:40
org.springframework.context.support.AbstractApplicationContext refresh
INFO: Refreshing org.apache.cxf.bus.spring.BusApplicationContext@2431b9:
display name [org.apache.cxf.bus.spring.BusApplicationContext@2431b9];
startup date [Fri Aug 31 1
2:37:40 MSD 2007]; root of context hierarchy
31.08.2007 12:37:41
org.springframework.beans.factory.xml.XmlBeanDefinitionReader
loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource
[META-INF/cxf/cxf.xml]
31.08.2007 12:37:41
org.springframework.context.support.AbstractApplicationContext refresh
INFO: Bean factory for application context
[org.apache.cxf.bus.spring.BusApplicationContext@2431b9]:
org.springframework.beans.factory.support.DefaultListableBeanFactory@
1de007d
31.08.2007 12:37:41
org.springframework.context.support.AbstractApplicationContext$BeanPostProcessorChecker
postProcessAfterInitialization
INFO: Bean 'org.apache.cxf.bus.spring.Jsr250BeanPostProcessor' is not
eligible for getting processed by all BeanPostProcessors (for example: not
eligible for auto-proxyin
g)
31.08.2007 12:37:41
org.springframework.context.support.AbstractApplicationContext$BeanPostProcessorChecker
postProcessAfterInitialization
INFO: Bean 'cxf' is not eligible for getting processed by all
BeanPostProcessors (for example: not eligible for auto-proxying)
31.08.2007 12:37:41
org.springframework.context.support.AbstractApplicationContext$BeanPostProcessorChecker
postProcessAfterInitialization
INFO: Bean 'org.apache.cxf.bus.spring.BusExtensionPostProcessor' is not
eligible for getting processed by all BeanPostProcessors (for example: not
eligible for auto-proxy
ing)
31.08.2007 12:37:41
org.springframework.beans.factory.support.DefaultListableBeanFactory
preInstantiateSingletons
INFO: Pre-instantiating singletons in
org.springframework.beans.factory.support.DefaultListableBeanFactory@1de007d:
defining beans [cxf,org.apache.cxf.bus.spring.Jsr250Be
anPostProcessor,org.apache.cxf.bus.spring.BusExtensionPostProcessor,org.apache.cxf.resource.ResourceManager,org.apache.cxf.binding.BindingFactoryManager,org.apache.cxf.tr
ansport.DestinationFactoryManager,org.apache.cxf.transport.ConduitInitiatorManager,org.apache.cxf.wsdl.WSDLManager,org.apache.cxf.phase.PhaseManager,org.apache.cxf.workqu
eue.WorkQueueManager,org.apache.cxf.buslifecycle.BusLifeCycleManager,org.apache.cxf.endpoint.ServerRegistry,org.apache.cxf.endpoint.ServerLifeCycleManager,org.apache.cxf.
endpoint.ClientLifeCycleManager,org.apache.cxf.transports.http.QueryHandlerRegistry,org.apache.cxf.endpoint.EndpointResolverRegistry,org.apache.cxf.headers.HeaderManager,
org.apache.cxf.catalog.OASISCatalogManager]; root of factory hierarchy
31.08.2007 12:37:56
org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ParameterProcessor
processInput
WARNING: Can not find the soap binding in your classpath
  Will not generate the extra parameter.
31.08.2007 12:37:56
org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ParameterProcessor
processInput
WARNING: Can not find the soap binding in your classpath
  Will not generate the extra parameter.
31.08.2007 12:37:56
org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ParameterProcessor
processInput
WARNING: Can not find the soap binding in your classpath
  Will not generate the extra parameter.
31.08.2007 12:37:56
org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ParameterProcessor
processInput
WARNING: Can not find the soap binding in your classpath
  Will not generate the extra parameter.

WSDLToJava Error : java.lang.NullPointerException

org.apache.cxf.tools.common.ToolException: java.lang.NullPointerException
        at
org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:242)
        at
org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:83)
        at org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:102)
        at org.apache.cxf.tools.wsdlto.WSDLToJava.main(WSDLToJava.java:171)
        at
org.apache.cxf.maven_plugin.WSDL2JavaMojo.processWsdl(WSDL2JavaMojo.java:186)
        at
org.apache.cxf.maven_plugin.WSDL2JavaMojo.execute(WSDL2JavaMojo.java:102)
        at
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:443)
        at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:539)
        at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:480)
        at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:459)
        at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:311)
        at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:278)
        at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:143)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:334)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:125)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:280)
        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.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
        at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
        at
org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: java.lang.NullPointerException
        at
org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ServiceProcessor.processParameter(ServiceProcessor.java:448)
        at
org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ServiceProcessor.processOperation(ServiceProcessor.java:386)
        at
org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ServiceProcessor.processPort(ServiceProcessor.java:266)
        at
org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ServiceProcessor.processService(ServiceProcessor.java:192)
        at
org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ServiceProcessor.process(ServiceProcessor.java:98)
        at
org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.WSDLToJavaProcessor.wsdlDefinitionToJavaModel(WSDLToJavaProcessor.java:90)
        at
org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.WSDLToJavaProcessor.process(WSDLToJavaProcessor.java:59)
        at
org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:198)
        at
org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:234)
        ... 23 more
[INFO]
------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO]
------------------------------------------------------------------------
[INFO] ExitException: status 1

[INFO]
------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO]
------------------------------------------------------------------------
[INFO] Total time: 1 minute 12 seconds
[INFO] Finished at: Fri Aug 31 12:37:56 MSD 2007
[INFO] Final Memory: 11M/28M
[INFO]
------------------------------------------------------------------------


Jim Ma-3 wrote:
> 
> Hi exgorth ,
> 
> You use the "wsdl2java -exsh true " to generate the parameter for soap 
> header .
> 
> Regards
> 
> Jim
> 
> exgorth wrote:
>> The service i'm trying to access accepts the auth info in custom way -
>> client
>> must specify a soap:header with login:password pair and receive a token,
>> that must be included as soap:header in all further requests.
>>
>> The problem that in generated code (wsdl2java) any info about that is not
>> present.
>>
>> In XFIRE 1.2.4 the generated method was:
>>
>> @WebMethod(operationName = "Search", action =
>> "http://tourml.ru/service/2006-03-14/Search")
>> @WebResult(name = "TourML", targetNamespace =
>> "http://tourml.ru/products/2004-04-19")
>> public TourML search(
>>   @WebParam(name = "request", targetNamespace =
>> "http://tourml.ru/query-request/2004-07-07")
>>   Request request,
>>   @WebParam(name = "UserSessionId", targetNamespace =
>> "http://tourml.ru/serviceSecurity/2006-03-14/", header = true)
>>   ru.tourml.servicesecurity._2006_03_14.UserSessionId UserSessionId);
>>
>> but in CFX-2.0.1:
>>
>> @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
>> @WebMethod(action = "http://tourml.ru/service/2006-03-14/Search",
>> operationName = "Search")
>> @WebResult(targetNamespace = "http://tourml.ru/service/2006-03-14",
>> partName
>> = "parameters", name = "SearchResponse")
>> public ru.tourml.service._2006_03_14.SearchResponse search(
>>   @WebParam(targetNamespace = "http://tourml.ru/service/2006-03-14",
>> partName = "parameters", name = "Search")
>>   ru.tourml.service._2006_03_14.Search parameters);
>>
>> the UserSessionId is not present as argument.
>>
>> How can i supply the request with the required header? Why it doesn't
>> present in generated API?
>>
>>   
> 
> 

-- 
View this message in context: http://www.nabble.com/wsdl2java---soap%3Aheader-handling-generation-tf4358725.html#a12422937
Sent from the cxf-user mailing list archive at Nabble.com.


Re: wsdl2java - soap:header handling/generation

Posted by Jim Ma <em...@iona.com>.
Hi exgorth ,

You use the "wsdl2java -exsh true " to generate the parameter for soap 
header .

Regards

Jim

exgorth wrote:
> The service i'm trying to access accepts the auth info in custom way - client
> must specify a soap:header with login:password pair and receive a token,
> that must be included as soap:header in all further requests.
>
> The problem that in generated code (wsdl2java) any info about that is not
> present.
>
> In XFIRE 1.2.4 the generated method was:
>
> @WebMethod(operationName = "Search", action =
> "http://tourml.ru/service/2006-03-14/Search")
> @WebResult(name = "TourML", targetNamespace =
> "http://tourml.ru/products/2004-04-19")
> public TourML search(
>   @WebParam(name = "request", targetNamespace =
> "http://tourml.ru/query-request/2004-07-07")
>   Request request,
>   @WebParam(name = "UserSessionId", targetNamespace =
> "http://tourml.ru/serviceSecurity/2006-03-14/", header = true)
>   ru.tourml.servicesecurity._2006_03_14.UserSessionId UserSessionId);
>
> but in CFX-2.0.1:
>
> @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
> @WebMethod(action = "http://tourml.ru/service/2006-03-14/Search",
> operationName = "Search")
> @WebResult(targetNamespace = "http://tourml.ru/service/2006-03-14", partName
> = "parameters", name = "SearchResponse")
> public ru.tourml.service._2006_03_14.SearchResponse search(
>   @WebParam(targetNamespace = "http://tourml.ru/service/2006-03-14",
> partName = "parameters", name = "Search")
>   ru.tourml.service._2006_03_14.Search parameters);
>
> the UserSessionId is not present as argument.
>
> How can i supply the request with the required header? Why it doesn't
> present in generated API?
>
>