Date of First Response: 2009-11-16 04:38:20 project_key: SOA I have created a JBossWS web service that uses custom WSDL with import element in place. The original web service publishes wsdl with this element <wsdl:import location="http://dhcp-0-121.brq.redhat.com:8080/Quickstart_webservice_proxy_basic_ws/HelloWorldImportWS?wsdl&resource=HelloWorldWSSchema.xsd" namespace="http://webservice_proxy_basic/helloworldimport"/> The proxied one publishes this element <wsdl:import location="HelloWorldWSSchema.xsd?serviceCat=&serviceName=&protocol=" namespace="http://webservice_proxy_basic/helloworldimport"> </wsdl:import> It seems that WSDLContractPublisher is not fully prepared to work with proxied web services.
Sorry, are you saying that import was supported previously? To the best of my knowledge import is not supported in the wsdl.
It is in the code, the documentation does not say if it is supported or not then I suppose that WSDL spec is supported as whole :-)
What is in the code?
Sorry, just realised that you are referring to the import of schema within the wsdl and this should be supported.
Sorry, bad morning. The only explicit use-case supporting import of schema is through EBWS and it does not sound as if this is what you are referring to. Did this work previously?
Okay, digging around shows that the smooks transformation attempts to handle the wsdl:import by appending those attributes to the schema and, presumably, this worked previously. Do you have a working example from a SOA 4.3 release and a comparison with the proxy version?
We have not tested WSDL import for SOAPProcessor endpoints on SOA-P 4.3
Can this be verified on SOA 4.3
WSDL import for SOAPProcessor is working correctly on SOA-P 4.3 (verified on SOA-P 4.3 CP02).
Still need the example attached, can someone please do this?
Attached test case for SOA-P 4.3.
Attachment: Added: contract_publisher_soapprocessor_import.tar.bz2
Is this issue still present in ER7?
Link: Added: This issue depends JBESB-3134
1) This jira is mis-named. The quickstart uses the SOAPProcessor, not the SOAPProxy. 2) Because of the decision made to go along with the workaround described in JBESB-2913 / SOA-1552, we only have to worry about HTTP-based contracts in the contract jsp application, not JMS or SOCKET, so ContractPublisherSOAPProcessorImportTest.java included in the attached test case needs to be updated to ONLY execute this line: compareWSDLDocuments(ORIGINAL_URL, HTTP_URL, EXPECTED_HTTP_ENDPOINT); NOT these lines anymore: compareWSDLDocuments(ORIGINAL_URL, JMS_URL, EXPECTED_JMS_ENDPOINT); compareWSDLDocuments(ORIGINAL_URL, SOCKET_URL, EXPECTED_SOCKET_ENDPOINT); 3) After doing #2, I deployed and tested the attached use case, using the latest available on the JBESB_4_7_CP (cp1) branch, under both these environments: - deployed in JBoss AS 4.2.3 + Sun JDK 1.5.0_22 - deployed in JBoss AS 5.1.0 + Sun JDK 1.6.0_17 In each case, the "ant runtest" application ran successfully, as did browsing to the contract jsp application, clicking on the HTTP contract, then copying/pasting out the import and into the browser window, and retrieving the imported data successfully. I have thus closed JBESB-3134 as "Cannot Reproduce Bug". Please re-test this issue once ER8 becomes available. Thank you.
FYI, I found out more information on this one.... 1) Just a note: the attached quickstarts says GoodbyeWorld, not HelloWorld. Kinda weird. No matter. Anyways... 2) The problem on ER7 - where it is still an issue - is that the port number is getting stripped out of the re-written import URL. See below: ======================= SOA-P 5 ER7 (with Sun JDK 1.6.0_17) ======================= JBossWS ------- Clicking on this link: http://127.0.0.1:8080/Contract_publisher_soapproducer_import/GoodbyeWorldWS?wsdl Yields this import URL (good): http://127.0.0.1:8080/Contract_publisher_soapproducer_import/GoodbyeWorldWS?wsdl&resource=GoodByeSchema.xsd ESB --- Clicking on this link: http://localhost:8080/contract/contract.jsp?serviceCat=ContractPublisherSOAPProducerCategory&serviceName=ContractPublisherSOAPProducerImportService&protocol=http Yields this import URL (** BAD! - MISSING PORT! **): http://127.0.0.1/Contract_publisher_soapproducer_import/GoodbyeWorldWS?wsdl&resource=GoodByeSchema.xsd&serviceCat=ContractPublisherSOAPProducerCategory&serviceName=ContractPublisherSOAPProducerImportService&protocol=http" namespace="http://webservice_producer/goodbyeworldimport ================================================== Latest available on the JBESB_4_7_CP (cp1) branch (deployed in JBoss AS 5.1.0 with Sun JDK 1.6.0_17) ================================================== JBossWS ------- Clicking on this link: http://127.0.0.1:8080/Contract_publisher_soapproducer_import/GoodbyeWorldWS?wsdl Yields this import URL (good): http://127.0.0.1:8080/Contract_publisher_soapproducer_import/GoodbyeWorldWS?wsdl&resource=GoodByeSchema.xsd ESB --- Clicking on this link: http://localhost:8080/contract/contract.jsp?serviceCat=ContractPublisherSOAPProducerCategory&serviceName=ContractPublisherSOAPProducerImportService&protocol=http Yields this import URL (** GOOD! - PORT IN TACT! **): http://127.0.0.1:8080/Contract_publisher_soapproducer_import/GoodbyeWorldWS?wsdl&resource=GoodByeSchema.xsd&serviceCat=ContractPublisherSOAPProducerCategory&serviceName=ContractPublisherSOAPProducerImportService&protocol=http
I was able to trace when this issue was fixed. (It was by me. Boy where's my memory these days?) Anyway, I re-opened then re-closed JBESB-3134 with a new resolution: "Duplicate Issue". The problem was existent in r31121, but disappeared in r31122. That revision is associated with JBESB-3092, which makes sense because AbstractWsdlContractPublisher uses RemoteWsdlLoader, which I changed in that release to make sure the port number isn't getting stripped out of the re-written import URL. So now we know *why* it should be good-to-go in ER8. Please re-test this issue once ER8 becomes available. Thank you.
Verified in CR1