以下是我在配置中遇到的一些问题,
weborb 安装时 在iis中注意应用程序池中 .net Framework的版本,托管管道的模式
新建网站,选择刚才配置好的应用程序池,和物理路径
HTTP 错误 500.19 - Internal Server Error
无法访问请求的页面,因为该页的相关配置数据无效。
解决方法:
iis中编辑权限
右键,点击属性,切换到“安全”选项卡上,将 IIS-IUSRS 用户组添加到安全列表中,并按需求赋予其权限(我赋予了修改的权限),更改后如下图:
运行flex端代码直接就跳到了配置的iis的地址
问题:
由于 Web 服务器上此资源的访问控制列表(ACL)配置或加密设置,您无权查看此目录或
解决方法:
找到这个网站所在的目录,点击右键属性---安全---添加everyone,并为everyone赋给相应的权限,问题解决。
未解决的问题:
Server reported an error - [MessagingError message='Destination 'GenericDestination' either does not exist or the destination has no channels defined (and the application does not define any default channels.)']
Server reported an error - None of the handlers were able to invoke the target service. The service may not be found:GenericDestination. Make sure exceptions are logged - check server log for details
解决方法见:
http://www.trailtracer.com/old/weborb30/console/console/troubleshooting.htm
<destination id="GenericDestination">
<properties>
<source>*</source>
</properties>
</destination>
问题:
项目文件必须在引用列表中包含.net framework 程序集“WindowsBase,PresentationCore,PresentationFramework”。错误处理!
解决:
首先我们看看插入图片的属性,生成操作是在Page里面的。
解决的方法就是,把page改成Resource就可以了。
http://localhost:51897/diagnostics.aspx
页面的使用需要引用weborb.dll
进行诊断排错
通过vs生成的一个默认的起始页,改地址:http://localhost:51897/weborbconsole.html,这样直接看到我们部署的服务
问题:
HTTP 错误 404.2 - Not Found. 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面.
解决:
IIS的根节点->右侧“ISAPI和CGI限制”->把禁止的DotNet版本项设置为允许,即可
-services
E:\testWebOrb\vsPro\WebApplication1\WEB-INF\flex\services-config.xml
Some the definitions first:
Endpoint -url地址,flex发送远程消息或者请求
Channel - 封装了endpoint. Also identifies classes managing the channel on both client and server sides
Destination - 用于鉴别服务端的类,暴露给weborb Used by Flex/AIR client to target method invocations against the referenced class.
Channels are configured in WEB-INF/flex/services-config.xml (and
weborb-services-config.xml if present in your system). Every channel has the "endpoint" element. For example, you have the following
channel definition:
<channel-definition id="my-amf"
class="mx.messaging.channels.AMFChannel">
<endpoint uri="weborb.php" class="flex.messaging.endpoints.AMFEndpoint"/>
<properties>
<polling-enabled>false</polling-enabled>
</properties>
</channel-definition>
<endpoint uri="weborb.php"
"weborb.php" here is actually a URL. 看起来不像一个url其实是被检索了的, If your Flex app is loaded from
http://myhost/foo/AwesomeApp.html
同时你的应用程序会发送远程请求给下列url
http://myhost/foo/weborb.php
(weborb for php 版本需要将weborb.php放在和包含swf的目录下)
remoting-config.xml 告诉客户端使用哪一个channel,这是所有的destination被定义的地方,大多数的destination不会显示的引用channels,因此
采取一种方式来建立默认的channel
<default-channels>
<channel ref="my-amf"/>
</default-channels>
结果是,当你创建一个RemoteObject来调用GenericDestination,remoting requests就会被发送到定义在my-amf中的endpoint
自己在动手修改的时候可以可以将endpoint的url地址改为自己访问的页面的url地址
<channel-definition id="my-amf" class="mx.messaging.channels.AMFChannel">
<endpoint uri="http://localhost:8181/test/test-debug/BasicInvocation.html" class="flex.messaging.endpoints.AMFEndpoint"/>
<properties>
<polling-enabled>false</polling-enabled>
</properties>
</channel-definition>
Now, suppose you need to get AIR to talk to WebORB. Obviously the my-amf channel will not work for you since the endpoint is relative.
你可以将endpoint改为绝对地址可以解决这个问题Alternatively, take a look at the channel with
the following ID:
my-air-amf
Notice the endpoint URL for that channel is absolute. Now take a look at the GenericAIRDestination destination in remoting-config.xml. You will see it references the my-air-amf channel. As a result, if your
AIR application uses "GenericAIRDestination", your AIR client will talk to WebORB and send remoting requests to the endpoint URL from the
my-air-amf channel. It is important to adjust the URL to reflect the location of your WebORB instance.
转载于:https://blog.51cto.com/971369/1280809