简体   繁体   中英

add xsd location to axis2 wsdl for html encoded return values

I have seen similar questions but none of them solved my problem unfortunately.

I automatically create my web service using Axis2 (1.6.2) in Eclipse Kepler - I dont create any wsdl or xsd files, just the web service class and use New -> Web Service. 3 endpoints are generated as

  • HttpEndpoint
  • HttpSoap11EndPoint
  • HtppSoap12EndPoint

I can consume my or any ws using axis2. However, some people who try to use my ws with JAX-WS in netbeans gets return values -which are xml as string- html encoded and this is because (or they think it is) my xsd file location is not specified in my wsdl link.

When I check my WSDL link, I dont see the xsd file location included but all return values are specified for each of the functions. I can also reach my xsd file simply by writing ?xsd instead of ?wsdl at the end of my service link and as I said, I have no problem using them.

I tried to use include and import tags in services.xml but still xsd location is not included in wsdl.

  • Is this encoding issue caused by my ws creation or the way it is consumed?

  • If I need to add the xsd location (which is simply ?xsd instead of ?wsdl), how can I add the location to my wsdl - without creating the whole wsdl file myself?

  • If this is caused by the way ws is consumed, is there a solution for the consumer beside html decoding or string.replaceall ?

Thanks in advance

Problem solved, It wasn't about adding an xsd but rather the return type. I changed the return to a class and complexType created automatically, including xsd location.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM