`

Born For SOA--Server对于SOAP的支持

阅读更多

 ArcGIS Server的服务可以通过Local或者Internet两种方式进行连接,Local方式直接连接到SOM上,本地的对象如何和SOM进行交互呢?事实上是通过AO进行交互的,所以你必须在本地有AO对象才可以进行连接,我们平常使用ArcCatlog就可以这样连接,或者通过Engine也可以进行这样的连接。而Internet方式直接连接到Web Service的引用地址,它是通过本地对象连接的,对于Java ADF而言,本地对象表示连接ArcGIS Server的类存在于本地JRE中。Local连接可以改变Server Object的状态,而Internet连接由于只是通过SOAP API进行访问,所有的交互都是无状态的。
对于SOAP的支持是在AO这一级,所以处理每一次SOAP请求,都会需要AO的介入。有两个接口特别要注意一下,一个是IServiceCatalogAdmin,一个是IRequestHandlerIRequestHandler我们已经在上面一节提到过,而IserviceCatalogAdmin是用来得到Server Object所提供服务的WSDL的。
SOM用来向客户端提供WSDL,所有支持的服务类型的WSDL保存在ArcGIS ServerXMLSchema目录下。
我们可以使用IServiceCatalogAdmin接口得到所有服务类型的WSDL,如下面的代码所示:

[Copy to clipboard] [ - ]
CODE:
private void getWSDL(String domain,String username,String password,String myserver){
ServerInitializer initializer = new ServerInitializer();
initializer.initializeServer(domain,username, password);
ServerConnection gisconnection;
try {
       gisconnection = new ServerConnection();
       gisconnection.connect(myserver);
// Get reference to ServerObjectManager class.

IServerObjectManager som =gisconnection.getServerObjectManager();
IServerContext serverContext = som.createServerContext("usa", "MapServer");
IServiceCatalogAdmin2 isc = (IServiceCatalogAdmin2)serverContext.createObject(ServiceCatalog.getClsid());
//       Catalog WSDL
byte[] bitscatalog = isc.getCatalogDescriptionDocument("Catalog","http://localhost");
String catalog_wsdl = new String(bitscatalog,"UTF8");
System.out.println(catalog_wsdl);
//       Service WSDL
byte[] bitsservice =isc.getDescriptionDocument("usa", "MapServer","http://localhost");
String service_wsdl = new String(bitsservice, "UTF8");
System.out.println(service_wsdl);
} catch (UnknownHostException
e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

}

 
事实上,ArcGISServer每一个ServerObject都实现了IRequestHandler接口,都可以响应SOAP的请求,可以使用下面的方法得到ServerObjectIRequestHandler,并且得到当前地图的Default Map Name.

[Copy to clipboard] [ - ]
CODE:
private void getMapName(IServerContext serverContext){
                  IRequestHandler irh;
                  try {
                            irh =(IRequestHandler)serverContext.getServerObject();
                           String soap_request ="<?xml version='1.0' encoding='utf-8' ?>";
                          soap_request +="<soap:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/' xmlns:tns='http://www.esri.com/schemas/ArcGIS/9.2'>";
                        soap_request +="<soap:Body>";
                      soap_request +="<tns:GetDefaultMapName>";
                      soap_request +="</tns:GetDefaultMapName>";
                      soap_request +="</soap:Body>";
                      soap_request +="</soap:Envelope>";
                    String soap_response =irh.handleStringRequest("map,query,data", soap_request);
                  } catch (AutomationException e) {
                            e.printStackTrace();
                  } catch (IOException e) {
                            e.printStackTrace();
                  }
         }

 
所以,ArcGIS Server处理SOAP请求的能力是与生俱来的,从Server Object诞生那一天起,它就能处理SOAP请求。从而使通过Web Service的方式调用GIS功能变得异常简单。当然,我们一般都不会想Server Object直接发送请求,根据WSDL的描述,通过发送和接受SOAP请求来访问ArcGIS Server工作量十分巨大,那么我们来看看如何在ADF中使用Web Service

分享到:
评论

相关推荐

    ArcGIS+Server+Java讲座

    1、前言------为什么我们选择JSF,而不是其它framework 1 ...28、ArcGIS Server Java讲座:Born For SOA--Server对于SOAP的支持 81 29、Server Java开发--Born for SOA系列 通过代理类访问ArcGIS Server Web Service 84

    关于多场Born和Born-Infeld理论及其非阿贝尔概括

    从最近提出的关于辅助场的线性公式开始,我们研究Born和Born-Infeld理论的n场推广。 在此描述中,拉格朗日向量场强度是二次方的,并且相应的非线性理论的对称性(包括特征自对偶性)表现为壳对偶对称性,并取决于...

    对Born-Infeld-de Sitter黑洞中标量场的强宇宙检查

    研究表明,强极端的宇宙检查(SCC)可能会被近乎极端的Reissner-Nordstrom-de Sitter黑洞中的标量场所破坏。... 此外,对于足够小的b,SCC总是可以在具有固定电荷比的近乎极端的Born-Infeld-de Sitter黑洞中恢复。

    非局部观测资料探测的Born-Infeld-Anti-de Sitter黑洞的相结构

    利用两点相关函数和全息纠缠熵等非局部可观测性,我们研究了... 对于bQ&gt; 0.5的情况,其中b是Born-Infeld参数,Q是黑洞的电荷,发现其相结构类似于Van der Waals相变,即黑洞先经历 有序相变和二次相变在达到稳定之前

    广义Born-Infeld-Higgs电动力学中的拓扑涡

    实施了一致的BPS形式主义,以研究Born-Infeld-Higgs电动力学的广义版本中拓扑轴向对称涡旋的存在。 这样的概括通过引入三个仅取决于希格斯场的非负函数,即G(| ϕ |),w(| ϕ |)和V(| ϕ |)来修改场动力学。 ...

    Born-Infeld-Dilaton黑洞的光子轨道和相变

    在Born-Infeld-dilaton-AdS黑洞(BH)中探索了光子轨道与热力学相变之间的关系。 选择电磁场和Dialton场之间的耦合,以使整个相图包含零阶和一阶相变以及可重入相变(RPT)。 我们发现,存在光子轨道半径rps和最小...

    Born in Death - Nora Roberts.mobi

    Born in Death - Nora Roberts.mobi

    腔中Born-Infeld-de Sitter黑洞的临界现象

    我们研究了用有限半径等温腔嵌入的渐近de Sitter黑洞的热力学行为,用Born-Infeld规范场代替了普通的Maxwell场。 我们发现,Born-Infeld理论的非线性导致规范集合中折返相变的存在,而折返相变的存在和性质取决于该...

    来自Born–Infeld- f(R)引力的Little Rip,ΛCDM和奇异的暗能量宇宙学

    我们以简化的保形方法研究了Born-Infeld-f(R)引力的后期宇宙加速动力学。 我们发现,可能会发生多种宇宙效应,例如小裂隙,ΛCDM宇宙和具有有限时间未来奇点的暗能量宇宙学。 不像便利的伯恩-因费尔德引力,在没有...

    Born-Infeld-dilaton-Lifshitz全息超导体的光学性质

    在这封信中,我们首先研究具有非线性Born-Infeld(BI)规范场的Lifshitz-dilaton全息超导体,并针对Lifshitz动态指数z和非线性参数b的不同值获得系统的临界温度。 我们发现,对于b的固定值,临界温度随z的增加而降低...

    简化的Born-Infeld-()理论中的畴壁膜

    魏森伯克时空中的Born-Infeld确定性引力使Born-Infeld f(T)理论简化了。 我们用这种理论研究了一个braneworld场景,并利用一阶形式主义获得了一个解析域壁解。 该模型对线性张量摄动是稳定的。 结果表明,无质量的...

    Born This Way--音悦台.mp4

    ladygaga11年最新专辑主打歌born this way mvladygaga11年最新专辑主打歌born this way mv

    born-gosu-gaming:Born Gosu的事件子域支持和不一致的bot处理程序

    发展第一次&gt; ./scripts/provision.sh&gt; source /tmp/born-gosu-gaming/asdf/asdf.sh&gt; mix deps.get本地运行&gt; source /tmp/born-gosu-gaming/asdf/asdf.sh&gt; iex -S mix本地测试&gt; source /tmp/born-gosu-gaming/asdf/...

    Analytical study on holographic superconductors for Born-Infeld electrodynamics in Gauss-Bonnet black hole with backreactions

    具有反作用的Gauss-Bonnet黑洞时空中Born-Infeld电磁场全息超导的解析研究,姚伟平,荆继良,本文解析地研究了具有反作用的Gauss-Bonnet黑洞时空中Born-Infeld电磁场全息超导。我们注意到对于这种复杂系统解析方法...

    二次开发arcgis_server_for_java

    ArcGIS Server 9.3 for Java 讲座 Server Java开发--Born for SOA系列 通过代理类访问ArcGIS Server Web Service 84

    Einstein-Born-Infeld-大质量引力:adS-黑洞解及其热力学性质

    在本文中,我们在存在Born-Infeld非线性电动力学的情况下研究了重力。 首先,我们获得与此重力相关的度量函数,并研究解的几何形状,发现原点处存在必不可少的奇点(r = 0)。 将会显示,由于大部分的贡献,视野的...

    Newborn-Risk-of-Sepsis-calculator:新生儿败血症风险计算器

    Meteor-EOS 这个交互式计算器通过输入每个孕产妇风险因素的值来计算每 1000 名婴儿的早发性感染概率。 该计算器基于 Karen M. Puopolo, MD, PhD, David Draper, PhD, Soora Wi, MPH, Thomas B....

    Lovelock–Born–Infeld-标量引力的多毛黑洞

    在本文中,我们在不同的维度上构造了Lovelock–Born–Infeld标量重力的新毛状黑洞。 我们研究了黑洞的层位结构,发现黑洞可能具有三个层位,两个层位或一个层位。 我们给出热力学量并检查第一定律。 我们研究了T–S...

    具有动量耗散的Born-Infeld电动力学的全息传输

    我们从Born-Infeld电动力学研究了爱因斯坦-轴距AdS黑洞。 分析计算了双边界理论的各种直流输运系数。 直流电导率取决于温度,与RN-AdS黑洞相比,这是一种新颖的特性。 分析了Born-Infeld参数对输运系数的影响。 此外...

Global site tag (gtag.js) - Google Analytics