[
https://issues.apache.org/activemq/browse/SMXCOMP-83?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=50637#action_50637
]
Milan Satala commented on SMXCOMP-83:
-------------------------------------
Thank you for your suggestions. [Wiki
page|http://servicemix.apache.org/servicemix-http.html] for servicemix-http
component doesn't have any links to the
[page|http://servicemix.apache.org/servicemix-http.html] containing info about
http:consumer. That should be fixed because there's almost no way for user to
find out about those new endpoints.
I was able to expose my wsdl using http:soap-consumer endpoint. However I
immediately ran into a problem:
{code}javax.xml.stream.XMLStreamException: Can not create StAX reader for the
Source passed --
neither reader, input stream nor system id was accessible; can not use other
types of sources (like embedded SAX streams){code}
There's already an issue about it. The issue mentions http:soap-consumer +
http:soap-provider combination but I got the same exception for
http:soap-consumer + http:provider combination.
> Publication of a consumer HTTP endpoint with classpath-provided WSDL file
> doesn't publish WSDL file
> ---------------------------------------------------------------------------------------------------
>
> Key: SMXCOMP-83
> URL: https://issues.apache.org/activemq/browse/SMXCOMP-83
> Project: ServiceMix Components
> Issue Type: Bug
> Components: servicemix-http
> Environment: ServiceMix 3.1.1, Windows
> Reporter: Philipp Rossmanith
> Priority: Minor
>
> Trying to publish an HTTP consumer endpoint with a classpath-supplied WSDL
> connecting to a servicemix.xml-configured publisher, the WSDL file doesn't
> show at the corresponding URL
> http://localhost:8192/IMMessageNotificationService/main.wsdl.
> Proposed solution:
> ================
> It seems the problem comes from the HttpEndpoint#getTargetPortType method.
> This method tries to find the *target* PortType. And the problem is that the
> target PortType (or interface QName) is not the same as the one exposed by
> servicemix-http. Somehow, they need to be matched.
> Maybe the getTargetPortType should be a series of
> if (portType == null && xxx) {
> ...
> }
> rather than if / else if.
> See also:
> ========
> Thread
> http://www.nabble.com/servicemix-http---classpath-supplied-WSDL-file-not-visible-tf4286826s12049.html
> (subject: servicemix-http - classpath-supplied WSDL file not visible)
> Additional information:
> ==================
> The setup is:
> HTTP consumer EP --> publisher EP
> Deployment units have been created with Maven. Service and endpoint supplied
> in the servicemix-http xbean.xml*) match the ones supplied in the WSDL
> file**), setting the service name to <namespace prefix>:<WSDL service name>
> and setting the endpoint name to the value of the port's name. The WSDL file
> is present at the top-level in the ZIP-file for the SU.
> *)
> <?xml version="1.0" encoding="UTF-8"?>
> <beans xmlns:http="http://servicemix.apache.org/http/1.0"
> xmlns:mag="http://mag.icing.eu/notification/1.0"
>
> xmlns:csapi="http://www.csapi.org/wsdl/parlayx/multimedia_messaging/noti
> fication/v2_0/service"
> xmlns:pub="http://iisys.icing.eu/publisher/1.0"
>
> xmlns:impl="http://www.csapi.org/wsdl/parlayx/multimedia_messaging/notif
> ication/v2_0/service">
> <classpath>
> <location>.</location>
> </classpath>
> <http:endpoint service="impl:IMMessageNotificationService"
> endpoint="IMMessageNotification" role="consumer"
>
> locationURI="http://0.0.0.0:8192/IMMessageNotificationService/"
> soap="true"
> wsdlResource="classpath:IMMessageNotification.wsdl"
> targetService="pub:IMMessagePublisher"
> targetEndpoint="ep" />
> </beans>
> **)
> <wsdl:definitions
>
> targetNamespace="http://www.csapi.org/wsdl/parlayx/multimedia_messaging/
> notification/v2_0/service" ...>
> ...
> <wsdl:service name="IMMessageNotificationService">
> <wsdl:port
> binding="impl:IMMessageNotificationSoapBinding"
> name="IMMessageNotification">
> <wsdlsoap:address
> location="http://0.0.0.0:8192/IMMessageNotificationService/" />
> </wsdl:port>
> </wsdl:service>
> ...
> </ wsdl:definitions>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.