Community
Vault Customization
Share your knowledge, ask questions, and explore popular Vault API, Data Standard, and VBA topics related to programming, creating add-ins, or working with the Vault API.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

SOAP response 137 to valid(?) request

8 REPLIES 8
SOLVED
Reply
Message 1 of 9
lsimons1
914 Views, 8 Replies

SOAP response 137 to valid(?) request

I am interacting with Vault 2014 using the SOAP API and the FindItemRevisionsBySearchConditions operation.  Reading the WSDL, I believe that the following XML is valid:

 

<env:Envelope xmlns:lol0="http://AutodeskDM/Services/ItemService/1/20/2011/" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
  <env:Header>
    <lol0:SecurityHeader>
      <lol0:Ticket>d57edeba-1919-40e3-b397-e4aec5fd8593</lol0:Ticket>
      <lol0:UserId>3</lol0:UserId>
    </lol0:SecurityHeader>
  </env:Header>
  <env:Body>
    <lol0:FindItemRevisionsBySearchConditions>
      <lol0:searchConditions>
        <lol0:SrchCond PropDefId="264" SrchOper="1" SrchTxt="7103-1201" PropTyp="AllProperties" SrchRule="Must"/>
        <lol0:SrchCond PropDefId="59" SrchOper="1" SrchTxt="Work" PropTyp="SingleProperty" SrchRule="Must"/>
      </lol0:searchConditions>
      <lol0:bRequestLatestOnly>true</lol0:bRequestLatestOnly>
    </lol0:FindItemRevisionsBySearchConditions>
  </env:Body>
</env:Envelope>

 However, I receive error 137 (illegal input params) whenever I have any SrchCond elements, although those elements look well formed to me.  Does anybody have any examples of a valid request, or is there something I'm missing in the request?

 

Thanks,

Louis

Tags (2)
8 REPLIES 8
Message 2 of 9
paul.gunn
in reply to: lsimons1

Hi Louis,

 

I don't see any obvious problems here. I submitted this to one of our servers with Fiddler (with minor adjustments to ticket , etc ) and got a successful response. So it isn't immediately clear to me what the problem is.

 

You might want to double check your http headers, etc for correctness - or monitor successful calls from the Vault client app with a tool like Fiddler to see if there are differences vs. what your are doing.

 

Paul

Message 3 of 9
lsimons1
in reply to: paul.gunn

Hi Paul,

 

Fiddler is a really cool tool, thanks for the heads up.  Is there somewhere you can see a proper XML request/response occur (i.e. from the Vault web client)?  I can see the get request occur, though I can't find any XML, but I might just be missing it.

 

My understanding of error 137 is that it should not be sent for a headers problem, but I guess it's possible.

Message 4 of 9
paul.gunn
in reply to: lsimons1

Hi,

 

For both the request and response, there is an 'inspector' tab. I usually use the text view to examine the XML. The headers section is also quite useful. The 'composer' tab is the one I used to text the XML fragment you posted .

 

Paul

Message 5 of 9
Daniel.Du
in reply to: paul.gunn

Yes, use fiddler, you will love it! 🙂



Daniel Du
Developer Technical Services
Autodesk Developer Network

Message 6 of 9
lsimons1
in reply to: Daniel.Du

Fiddler does a great job at intercepting my browser traffic, but is there a way to capture other processes?  Our SOAP access is done via Ruby (and the Savon library), which Fiddler doesn't bind to.  May be a question better suited to Fiddler's forums.  I've seen some stuff about routing through a proxy, but it seems a bit convoluted.

 

Is there any documentation somewhere that would let me at least pin error 137 down to headers or message body?  If I remove the SrchCond elements, it returns the default search results, so I thought the error was in those elements, but they seem valid per the WSDL which paul.gunn's success seems to indicate.

 

Are there any server configuration options which could be related?

 

Message 7 of 9
paul.gunn
in reply to: lsimons1

Hi,

 

There aren't any general configuration settings that would affect the validity of the parameters. So it is a bit of a mystery why the same xml would work for me but not in your environment.

 

One thought - if you could post your server vlog with the error, the stack trace there might give some insight into where the error is being thrown.

 

Paul

 

Message 8 of 9
lsimons1
in reply to: paul.gunn

The vlog follows.  It seems to be very similar to the SOAP response data.

 

10/11/2013 8:26:32 AM *******************************************************************
Error: Soap Exception ( mesg-id = 635170767926913657 )
Exception: IllegalInputParam [137] 
Stacktrace: 
Server stack trace: 
   at Connectivity.Core.Operations.SearchContext.GetSearchClause(SearchCondition sc, SearchTerm searchTerm)
   at Connectivity.Core.Operations.SearchContext.BuildQuery(SearchCondition sc)
   at Connectivity.Core.Operations.SearchQuery.Add(SearchCondition sc)
   at Connectivity.Core.Operations.Searching.ConstructSearchQuery(LuceneSearcher searcher)
   at Connectivity.Core.Operations.Searching.Execute(TermFilter filter, String& bookmark, SearchStatus& searchstatus)
   at Connectivity.Product.DataAccess.ItemProperties.FindItemRevisions(SearchCondition[] conditions, SortCondition[] sortConditions, Boolean latestOnly, String& bookmark, SearchStatus& searchstatus)
   at System.Runtime.Remoting.Messaging.Message.Dispatch(Object target)
   at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg)

Exception rethrown at [0]: 
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at Connectivity.Product.Services.ItemPropertyService.FindItemRevisionsByPropertySearchConditions(SearchCondition[] searchConditions, SortCondition[] sortConditions, Boolean bRequestLatestOnly, String& bookmark, SearchStatus& searchstatus)
   at Connectivity.Web.Services.v16.ItemService.FindItemRevisionsBySearchConditions(SearchCondition[] searchConditions, SortCondition[] sortConditions, Boolean bRequestLatestOnly, String& bookmark, SearchStatus& searchstatus)
   at SyncInvokeFindItemRevisionsBySearchConditions(Object , Object[] , Object[] )
   at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
   at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)

10/11/2013 8:28:42 AM Begin executing event Autodesk.Events.Maintenance at 10/11/2013 8:28:42 AM
10/11/2013 8:28:42 AM End executing event Autodesk.Events.Maintenance at 10/11/2013 8:28:42 AM

 

Message 9 of 9
paul.gunn
in reply to: lsimons1

Hi,

 

Unfortunately the error log doesn't lend much insight. My best suggestion is to capture successful search requests (e.g. from vault client) in fiddler and determine differences between those and the requests you are sending - hopefully pointing to an explanation / solution.

 

Paul

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report