What version of the product are you using?

Based on that stack trace, it looks like your FlexMxmlServlet is attempting to 
load and init a MessageBrokerServlet. That seems odd. How do you have these 
servlets configured in web.xml?

Seth

From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of sk_acura
Sent: Wednesday, May 21, 2008 3:23 PM
To: [email protected]
Subject: [flexcoders] Re: RemoteObject connections over HTTPS fails..

Hi,

First of all thanks so much for your response..

I tried chaning my secure channel defintion as you suggested and
now i am getting the following Error in the log..

[ERROR]
flex.messaging.config.ConfigurationException: Invalid channel endpoint
class 'flex.messaging.endpoints.AMFEndpoint' specified for
'channel-secure-amf'.

INFO: FlexMxmlServlet: Adobe Flex Web Tier Compiler Build: 155539
May 21, 2008 6:16:59 PM org.apache.catalina.core.ApplicationContext log
SEVERE: StandardWrapper.Throwable
flex.messaging.config.ConfigurationException: Invalid channel endpoint
class 'flex.messaging.endpoints.AMFEndpoint' specified for
'channel-secure-amf'.
at
flex.messaging.config.MessagingConfiguration.createEndpoints(MessagingConfiguration.java:141)
at
flex.messaging.config.MessagingConfiguration.configureBroker(MessagingConfiguration.java:82)
at
flex.messaging.MessageBrokerServlet.init(MessageBrokerServlet.java:105)
at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
at
org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:806)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:133)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
at java.lang.Thread.run(Thread.java:619)
May 21, 2008 6:16:59 PM org.apache.catalina.core.StandardWrapperValve
invoke
SEVERE: Allocate exception for servlet MessageBrokerServlet
flex.messaging.config.ConfigurationException: Invalid channel endpoint
class 'flex.messaging.endpoints.AMFEndpoint' specified for
'channel-secure-amf'.
at
flex.messaging.config.MessagingConfiguration.createEndpoints(MessagingConfiguration.java:141)
at
flex.messaging.config.MessagingConfiguration.configureBroker(MessagingConfiguration.java:82)
at
flex.messaging.MessageBrokerServlet.init(MessageBrokerServlet.java:105)
at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
at
org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:806)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:133)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
at java.lang.Thread.run(Thread.java:619)

[/ERROR]

Here is the channel Def..

[CODE]

<channel-definition id="my-secure-amf"
class="mx.messaging.channels.SecureAMFChannel">
<endpoint
uri="https://{server.name}:{server.port}/{context.root}/messagebroker/amf";
class="flex.messaging.endpoints.AMFEndpoint"/>
</channel-definition>

[/CODE]

I tried even copying the Flex3 SDK Jars and the Jars from BalzeDS
(3.0.544) build with no luck..

Thanks
Mars

--- In [email protected], "Seth Hodgson" <[EMAIL PROTECTED]> wrote:
>
> If you have a proxy between the client and server that rewrites
HTTPS requests to HTTP requests before forwarding to the app server
you need you channel-definition to specify a secure client-side
channel class and URL, and an insecure server side endpoint class. So,
something like:
> 
> <channel-definition id="secure-amf"
> class="mx.messaging.channels.SecureAMFChannel">
> <endpoint
>
uri="https://{server.name}:{server.port}/{context.root}/messagebroker/amf";
> class="flex.messaging.endpoints.AMFEndpoint"/>
> </channel-definition>
> 
> Note that the endpoint class is AMFEndpoint, not SecureAMFEndpoint.
> 
> Regarding the error you get when you hit the secure endpoint
directly in the browser (flex.messaging.MessageException: No
configured channel has an endpoint
> path '/messagebroker/amfsecure'...); that's odd - are you sure you
didn't edit your config file without restarting? 
> 
> Hope that helps,
> Seth
> 
> From: [email protected] [mailto:[EMAIL PROTECTED]
On Behalf Of sk_acura
> Sent: Wednesday, May 21, 2008 10:54 AM
> To: [email protected]
> Subject: [flexcoders] RemoteObject connections over HTTPS fails..
> 
> HI All,
> 
> We have a BalzeDS based web app deployed on tomcat working fine when
> we use HTTP.
> 
> How ever when we try to expose our web app over extranet the swf files
> that tries to connect to the Remote Object gets timed out..
> 
> Here are the channels that are configured in the services-config.xml
> 
> [CODE]
> <channels>
> <channel-definition id="my-amf"
> class="mx.messaging.channels.AMFChannel">
> <endpoint
>
uri="http://{server.name}:{server.port}/{context.root}/messagebroker/amf";
> class="flex.messaging.endpoints.AMFEndpoint"/>
> <properties>
> <polling-enabled>false</polling-enabled>
> </properties>
> </channel-definition>
> 
> <channel-definition id="my-secure-amf"
> class="mx.messaging.channels.SecureAMFChannel">
> 
> <endpoint
>
uri="https://{server.name}:{server.port}/{context.root}/messagebroker/amfsecure";
> class="flex.messaging.endpoints.SecureAMFEndpoint"/>
> </channel-definition>
> 
> <channel-definition id="my-polling-amf"
> class="mx.messaging.channels.AMFChannel">
> <endpoint
>
uri="http://{server.name}:{server.port}/{context.root}/messagebroker/amfpolling";
> class="flex.messaging.endpoints.AMFEndpoint"/>
> <properties>
> <polling-enabled>true</polling-enabled>
> <polling-interval-seconds>8</polling-interval-seconds>
> </properties>
> </channel-definition>
> <channel-definition id="my-http"
> class="mx.messaging.channels.HTTPChannel">
> <endpoint
>
uri="http://{server.name}:{server.port}/{context.root}/messagebroker/http";
> class="flex.messaging.endpoints.HTTPEndpoint"/>
> </channel-definition>
> 
> <channel-definition id="my-secure-http"
> class="mx.messaging.channels.SecureHTTPChannel">
> 
> <endpoint
>
uri="https://{server.name}:{server.port}/{context.root}/messagebroker/httpsecure";
> class="flex.messaging.endpoints.SecureHTTPEndpoint"/>
> </channel-definition>
> </channels>
> [/CODE]
> 
> And the default-channels set in remoting-config.xml and
> proxy-config.xml are
> 
> [CODE]
> <default-channels>
> <channel ref="my-secure-amf"/>
> <channel ref="my-secure-http"/>
> <channel ref="my-amf"/>
> <channel ref="my-http"/>
> </default-channels>
> [/CODE]
> 
> First of all do i need to enable the secure-channels ?? As the https
> port is not enabled in the tomcat on which this web app is deployed..
> 
> How ever there is a proxy in between which rewrites the https requests
> as http requests and redirects them to the tomcat..
> 
> When i add the secure channels ( amf and http) in my default-channel
list
> and i have included the trace target in my main mxml File..
> 
> It shows that it is pinging the my-secure-amf endpoint and doesn't get
> any response..( i get the same when i connect using http i.e, from the
> intranet)
> 
> Now when i remove the secure channels from my default channel list and
> regenerate the .swf files (i have the servlet mapping configured to
> regenerate them if they don't exists already..) i can connect to the
> web app from intranet which uses my-amf channel.
> 
> How ever when i try to connect over https the trace shows it is not
> getting any ping response from my-amf channel..
> 
> Also when i try the following URLs from my browser i get an Error..
> 
> http://localhost:8080/myapp/messagebroker/amfsecure
> 
> [ERROR]
> flex.messaging.MessageException: No configured channel has an endpoint
> path '/messagebroker/amfsecure'.
> flex.messaging.MessageBroker.getEndpoint(MessageBroker.java:318)
>
flex.messaging.MessageBrokerServlet.service(MessageBrokerServlet.java:329)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> [/ERROR]
> 
> I am getting this Error in both intranet (using HTTP) and Extranet
> Environments (using Https)
> 
> I have read the blog posts related to this
> (http://blog.crankybit.com/flex-remoting-over-ssl/)
> and doing exactly as it is suggested still unable to resolve the
> issue..!!
> 
> Thanks
> Mars
>
 

Reply via email to