2013-12-11 61 views
1

我已经实施了基于Novell/NetIQs Identity Manager的SOAP驱动程序的解决方案。在我的SOAP驱动程序上也有一个驱动程序健康工作和驱动程序健康状况配置。驱动程序运行状况配置令人不安SOAP驱动程序

驱动程序启动时有一个查询query-driver-ident,驱动程序正在运行时会定期查询。问题是:为什么驱动程序启动时系统回答了查询,驱动程序运行时为什么会通过?当查询通过时:连接系统预期回复什么?

详细情况如下:

当驾驶员开始我看到下面的痕迹是很确定:

[12/11/13 13:13:18.558]:Codex-KMS ST:Received state change event. 
[12/11/13 13:13:18.559]:Codex-KMS ST:Transitioned from state '%+C%14CStopped%-C' to state '%+C%14CStarting%-C'. 
[12/11/13 13:13:18.566]:Codex-KMS ST:Successfully processed state change event. 
[12/11/13 13:13:18.568]:Codex-KMS ST:Submitting identification query to subscriber shim: 
[12/11/13 13:13:18.568]:Codex-KMS ST: 
<nds dtdversion="4.0" ndsversion="8.x"> 
    <source> 
    <product edition="Advanced" version="4.0.1.0">DirXML</product> 
    <contact>Novell, Inc.</contact> 
    </source> 
    <input> 
    <query event-id="query-driver-ident" scope="entry"> 
     <search-class class-name="__driver_identification_class__"/> 
     <read-attr/> 
    </query> 
    </input> 
</nds> 
[12/11/13 13:13:18.572]:Codex-KMS ST:SubscriptionShim.execute() returned: 
[12/11/13 13:13:18.587]:Codex-KMS ST: 
<nds dtdversion="2.0"> 
    <source> 
    <product build="20110402_112430" instance="Codex-KMS" version="3.5.6">Identity Manager Driver for SOAP</product> 
    <contact>Novell, Inc.</contact> 
    </source> 
    <output> 
    <instance class-name="__driver_identification_class__"> 
     <attr attr-name="driver-id"> 
     <value type="string">SOAP</value> 
     </attr> 
     <attr attr-name="driver-version"> 
     <value type="string">3.5.6</value> 
     </attr> 
     <attr attr-name="min-activation-version"> 
     <value type="int">3</value> 
     </attr> 
    </instance> 
    </output> 
</nds> 

但是,驱动程序运行时,司机健康工作检查的跟踪如下: :

[12/11/13 13:15:01.461]:Codex-KMS ST:Injecting User Agent XDS command document into Subscriber channel. 
[12/11/13 13:15:01.462]:Codex-KMS ST:Applying command transformation policies. 
[12/11/13 13:15:01.463]:Codex-KMS ST:Applying policy: ... 
[12/11/13 13:15:01.485]:Codex-KMS ST:Policy returned: 
[12/11/13 13:15:01.487]:Codex-KMS ST: 
<nds dtdversion="4.0" ndsversion="8.x"> 
    <source> 
     <product edition="Advanced" version="4.0.1.0">DirXML</product> 
     <contact>Novell, Inc.</contact> 
    </source> 
    <input> 
     <query event-id="query-driver-ident" scope="entry"> 
      <search-class class-name="__driver_identification_class__"/> 
      <read-attr/> 
     </query> 
    </input> 
</nds> 
[12/11/13 13:15:01.494]:Codex-KMS ST:Filtering out notification-only attributes. 
[12/11/13 13:15:01.496]:Codex-KMS ST:Fixing up association references. 
[12/11/13 13:15:01.498]:Codex-KMS ST:Applying schema mapping policies to output. 
[12/11/13 13:15:01.500]:Codex-KMS ST:Applying policy: %+C%14CKMS-Mapping%-C. 
[12/11/13 13:15:01.502]:Codex-KMS ST: No mapping for class-name '__driver_identification_class__'. 
[12/11/13 13:15:01.504]:Codex-KMS ST:Applying output transformation policies. 
[12/11/13 13:15:01.509]:Codex-KMS ST:Applying XSLT policy: %+C%14CSOAP+Output+Transform%-C. 
[12/11/13 13:15:01.513]:Codex-KMS ST: %13Cxsl:message -> Output: Add SOAP Headers 
[12/11/13 13:15:01.516]:Codex-KMS ST:Policy returned: 
[12/11/13 13:15:01.518]:Codex-KMS ST: 
<nds dtdversion="4.0" ndsversion="8.x"> 
    <source> 
    <product edition="Advanced" version="4.0.1.0">DirXML</product> 
    <contact>Novell, Inc.</contact> 
    </source> 
    <input> 
    <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:spml="urn:oasis:names:tc:SPML:1:0"> 
     <soap-env:Body> 
     <query event-id="query-driver-ident" scope="entry"> 
      <search-class class-name="__driver_identification_class__"/> 
      <read-attr/> 
     </query> 
     </soap-env:Body> 
    </soap-env:Envelope> 
    </input> 
</nds> 
[12/11/13 13:15:01.525]:Codex-KMS ST:Applying XSLT policy: %+C%14CSPML+Output+Transform%-C. 
[12/11/13 13:15:01.528]:Codex-KMS ST: %13Cxsl:message -> Output: Convert XDS to SPML 
[12/11/13 13:15:01.532]:Codex-KMS ST:Policy returned: 
[12/11/13 13:15:01.533]:Codex-KMS ST: 
<nds dtdversion="4.0" ndsversion="8.x"> 
    <source> 
    <product edition="Advanced" version="4.0.1.0">DirXML</product> 
    <contact>Novell, Inc.</contact> 
    </source> 
    <input> 
    <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:spml="urn:oasis:names:tc:SPML:1:0"> 
     <soap-env:Body> 
     <searchRequest derefAliases="neverDerefAliases" sizeLimit="1000"> 
      <filter> 
      <and> 
       <equalityMatch name="objectclass"> 
       <value>__driver_identification_class__</value> 
       </equalityMatch> 
      </and> 
      </filter> 
      <attributes> 
      <attribute name="1.1"/> 
      </attributes> 
      <operation-data parent-node-1="searchResponse"> 
      <return-to-me command="query" event-id="query-driver-ident" scope="entry"/> 
      </operation-data> 
     </searchRequest> 
     </soap-env:Body> 
    </soap-env:Envelope> 
    </input> 
</nds> 
[12/11/13 13:15:01.543]:Codex-KMS ST:Submitting document to subscriber shim: 
[12/11/13 13:15:01.545]:Codex-KMS ST: 
<nds dtdversion="4.0" ndsversion="8.x"> 
    <source> 
    <product edition="Advanced" version="4.0.1.0">DirXML</product> 
    <contact>Novell, Inc.</contact> 
    </source> 
    <input> 
    <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:spml="urn:oasis:names:tc:SPML:1:0"> 
     <soap-env:Body> 
     <searchRequest derefAliases="neverDerefAliases" sizeLimit="1000"> 
      <filter> 
      <and> 
       <equalityMatch name="objectclass"> 
       <value>__driver_identification_class__</value> 
       </equalityMatch> 
      </and> 
      </filter> 
      <attributes> 
      <attribute name="1.1"/> 
      </attributes> 
      <operation-data parent-node-1="searchResponse"> 
      <return-to-me command="query" event-id="query-driver-ident" scope="entry"/> 
      </operation-data> 
     </searchRequest> 
     </soap-env:Body> 
    </soap-env:Envelope> 
    </input> 
</nds> 
[12/11/13 13:15:01.556]:Codex-KMS ST:Codex-KMS: Value of boolean flag 'remove-existing' is : false 
[12/11/13 13:15:01.560]:Codex-KMS ST:Codex-KMS: HTTPSubscriberTransport.send() 
[12/11/13 13:15:01.561]:Codex-KMS ST:Codex-KMS: Preparing HTTP POST connection to ... 
[12/11/13 13:15:01.563]:Codex-KMS ST:Codex-KMS: Setting the following HTTP request properties: 
[12/11/13 13:15:01.565]:Codex-KMS ST:Codex-KMS: Authorization: <credentials suppressed> 
[12/11/13 13:15:01.567]:Codex-KMS ST:Codex-KMS: SOAPAction: #batchRequest 
[12/11/13 13:15:01.569]:Codex-KMS ST:Codex-KMS: Content-Type: text/xml; charset=utf-8 
[12/11/13 13:15:01.573]:Codex-KMS ST:Codex-KMS: Did HTTP POST with 423 bytes of data to ... 
[12/11/13 13:15:01.600]:Codex-KMS ST:Codex-KMS: Response code and message: 200 OK 
[12/11/13 13:15:01.603]:Codex-KMS ST:SubscriptionShim.execute() returned: 
[12/11/13 13:15:01.604]:Codex-KMS ST: 
<nds dtdversion="2.0"> 
    <source> 
    <product build="20110402_112430" instance="Codex-KMS" version="3.5.6">Identity Manager Driver for SOAP</product> 
    <contact>Novell, Inc.</contact> 
    </source> 
    <output> 
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> 
<SOAP-ENV:Body> 
<spml:searchResponse error="urn:oasis:names:tc:SPML:1:0#unsupportedOperation" requestID="rid-2abd6523-d4c6-45c2-9d54-3448bb10aeb7" result="urn:oasis:names:tc:SPML:1:0#failure" xmlns:dsml="urn:oasis:names:tc:DSML:2:0:core" xmlns:spml="urn:oasis:names:tc:SPML:1:0"> 
    <spml:errorMessage>UNSPECIFIED_ERROR</spml:errorMessage> 
</spml:searchResponse> 
</SOAP-ENV:Body> 
<operation-data parent-node-1="searchResponse" xmlns="urn:oasis:names:tc:SPML:1:0"> 
     <return-to-me command="query" event-id="query-driver-ident" scope="entry"/> 
     </operation-data> 
    </SOAP-ENV:Envelope> 
    </output> 
</nds> 

错误UNSPECIFIED_ERROR由我对没有此查询编写的Web服务端点应用程序生成。

回答

2

对于你的第一个问题,恕我直言,答案是'因为有驱动程序填充书面,以便在开始后第一次回答ident查询。

您可以使用以下至少两种方法来解决此错误: 1.配置驱动程序运行状况作业(位于驱动程序集下)以不使用“用户心跳线”。此设置影响所有驱动程序。如果(操作=“查询”和@事件ID =“查询驱动程序 - 身份证”)然后否决();否则,这样的查询在子ctp: 。

+0

两种替代方法都抑制了心脏跳动。当然,这是一个解决方案。但是,在2013年12月提出这个问题之后,我在Web服务中实现了一个解决方案,如果'search-class'是'__driver_identification_class__',它就发送一个简单的响应。这工作正常。 – Claude

相关问题