本文共 11851 字,大约阅读时间需要 39 分钟。
服务器端,用eclipse建立web工程
1.建立web工程(这里取名test)
2.在WEB-INF下创建flex文件夹
3.在flex文件夹下创建4个xml文件
(1)messaging-config.xml
<?xml version="1.0" encoding="UTF-8"?>
- <service id="message-service"
- class="flex.messaging.services.MessageService">
- <adapters>
- <adapter-definition id="actionscript" class="flex.messaging.services.messaging.adapters.ActionScriptAdapter" default="true" />
- <!-- <adapter-definition id="jms" class="flex.messaging.services.messaging.adapters.JMSAdapter"/> -->
- </adapters>
- <default-channels>
- <channel ref="my-polling-amf"/>
- </default-channels>
- </service>
(2)proxy-config.xml
<?xml version="1.0" encoding="UTF-8"?>
- <service id="proxy-service"
- class="flex.messaging.services.HTTPProxyService">
- <properties>
- <connection-manager>
- <max-total-connections>100</max-total-connections>
- <default-max-connections-per-host>2</default-max-connections-per-host>
- </connection-manager>
- <allow-lax-ssl>true</allow-lax-ssl>
- </properties>
- <adapters>
- <adapter-definition id="http-proxy" class="flex.messaging.services.http.HTTPProxyAdapter" default="true"/>
- <adapter-definition id="soap-proxy" class="flex.messaging.services.http.SOAPProxyAdapter"/>
- </adapters>
- <default-channels>
- <channel ref="my-amf"/>
- </default-channels>
- <destination id="DefaultHTTP">
- </destination>
- </service>
(3)services-config.xml
<?xml version="1.0" encoding="UTF-8"?>
- <services-config>
-
- <services>
- <service-include file-path="remoting-config.xml" />
- <service-include file-path="proxy-config.xml" />
- <service-include file-path="messaging-config.xml" />
- </services>
-
- <security>
- <login-command
- class="flex.messaging.security.TomcatLoginCommand" server="Tomcat" />
- <!-- Uncomment the correct app server
- <login-command class="flex.messaging.security.TomcatLoginCommand" server="JBoss">
- <login-command class="flex.messaging.security.JRunLoginCommand" server="JRun"/>
- <login-command class="flex.messaging.security.WeblogicLoginCommand" server="Weblogic"/>
- <login-command class="flex.messaging.security.WebSphereLoginCommand" server="WebSphere"/>
- -->
-
- <!--
- <security-constraint id="basic-read-access">
- <auth-method>Basic</auth-method>
- <roles>
- <role>guests</role>
- <role>accountants</role>
- <role>employees</role>
- <role>managers</role>
- </roles>
- </security-constraint>
- -->
- </security>
-
- <channels>
-
- <channel-definition id="my-amf"
- class="mx.messaging.channels.AMFChannel">
- <endpoint
- url="http://{server.name}:{server.port}/{context.root}/messagebroker/amf"
- class="flex.messaging.endpoints.AMFEndpoint" />
- </channel-definition>
-
- <channel-definition id="my-secure-amf"
- class="mx.messaging.channels.SecureAMFChannel">
- <endpoint
- url="https://{server.name}:{server.port}/{context.root}/messagebroker/amfsecure"
- class="flex.messaging.endpoints.SecureAMFEndpoint" />
- <properties>
- <add-no-cache-headers>false</add-no-cache-headers>
- </properties>
- </channel-definition>
-
- <channel-definition id="my-polling-amf"
- class="mx.messaging.channels.AMFChannel">
- <endpoint
- url="http://{server.name}:{server.port}/{context.root}/messagebroker/amfpolling"
- class="flex.messaging.endpoints.AMFEndpoint" />
- <properties>
- <polling-enabled>true</polling-enabled>
- <polling-interval-seconds>4</polling-interval-seconds>
- </properties>
- </channel-definition>
-
- <!--
- <channel-definition id="my-http" class="mx.messaging.channels.HTTPChannel">
- <endpoint url="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 url="https://{server.name}:{server.port}/{context.root}/messagebroker/httpsecure" class="flex.messaging.endpoints.SecureHTTPEndpoint"/>
- <properties>
- <add-no-cache-headers>false</add-no-cache-headers>
- </properties>
- </channel-definition>
- -->
- </channels>
-
- <logging>
- <target class="flex.messaging.log.ConsoleTarget"
- level="Error">
- <properties>
- <prefix>[BlazeDS]</prefix>
- <includeDate>false</includeDate>
- <includeTime>false</includeTime>
- <includeLevel>false</includeLevel>
- <includeCategory>false</includeCategory>
- </properties>
- <filters>
- <pattern>Endpoint.*</pattern>
- <pattern>Service.*</pattern>
- <pattern>Configuration</pattern>
- </filters>
- </target>
- </logging>
-
- <system>
- <redeploy>
- <enabled>false</enabled>
- <!--
- <watch-interval>20</watch-interval>
- <watch-file>{context.root}/WEB-INF/flex/services-config.xml</watch-file>
- <watch-file>{context.root}/WEB-INF/flex/proxy-config.xml</watch-file>
- <watch-file>{context.root}/WEB-INF/flex/remoting-config.xml</watch-file>
- <watch-file>{context.root}/WEB-INF/flex/messaging-config.xml</watch-file>
- <watch-file>{context.root}/WEB-INF/flex/data-management-config.xml</watch-file>
- <touch-file>{context.root}/WEB-INF/web.xml</touch-file>
- -->
- </redeploy>
- </system>
- </services-config>
(4)remoting-config.xml
<?xml version="1.0" encoding="UTF-8"?>
- <service id="remoting-service"
- class="flex.messaging.services.RemotingService">
-
- <adapters>
- <adapter-definition id="java-object" class="flex.messaging.services.remoting.adapters.JavaAdapter" default="true"/>
- </adapters>
-
- <default-channels>
- <channel ref="my-amf"/>
- </default-channels>
- <!-- 主要是这里配置 -->
- <destination id="remoteService">
- <properties>
- <source>com.hx.osworkflow.service.WorkflowService</source>
- </properties>
- </destination>
- </service>
4.在web.xml里面加入:
- <servlet-name>MessageBrokerServlet</servlet-name>
- <servlet-class>
- flex.messaging.MessageBrokerServlet
- </servlet-class>
- <init-param>
- <param-name>services.configuration.file</param-name>
- <param-value>/WEB-INF/flex/services-config.xml</param-value>
- </init-param>
- <load-on-startup>1</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>MessageBrokerServlet</servlet-name>
- <url-pattern>/messagebroker/*</url-pattern>
- </servlet-mapping>
在客户端用flex Builder建立工程(这里叫test-client)
(1)Flex project,Application type选择Web application(runs in Flash Player)
Server technology里面Application server type选择ColdFusion, 在Use remote
object access service里面选择ColdFusion Flash Remoting,点下一步
(2)Web root,Root URL,还有Context root跟你的建的web工程保持一致, 点下一步
(注意这时服务器必须已经启动)
(3)点完成
转载地址:http://vnzmi.baihongyu.com/