No registered handler for header qname

Hello,
After trying a web service given by an attachment file bellows (Astea.AO.API.wsdl), I had the error : The header has a message part “SessionId” defined by the type SessionID. Message parts in header must be defined by the element attribute instead of the type attribute.

So I download the web service and I replace the type attribute by element attribute. I save my file (Astea.AO.API1.wsdl) and I had message that mixed styles are not supported. So I change all rpc style attribute by document style attribute and all encoded use attribute by literal use attribute and save the file.

I tried again but I have another error I can not understand : “No registered handler for header qname”
My feeling it is because I downloaded the wsdl file instead of discovered it by http request

Anyone can be help me,
Thanks
Astea.AO.API.wsdl (74 KB)

Try “pub.soap.handler:registerWmConsumer” refer 9-8_Integration_Server_Built-In_Services_Reference for service usage.

Yes thanks,
I already read this document but Im not sure to understand what I have to do.

It’s is written I have to create a service. I guess it is a Flow Service with calling the transformer pub.soap.handler:registerWmConsumer.

  • First : I don’t know what I have to give in different parameter. I mean the link between those parameters and the WSDL I downloaded and modified
  • And : I don’t see the link between this flow service and the web service consumer I try to create and for what I am locked when I trid to discover the web service.

If you need to register the handlers you have to create a request handler, response handler and fault handler flow services with your signature provided by the specification document (pub.soap.handler:handlerSpec).

These handler services have to be registered with the IS against the header QName (e.g. QName of the session header should be {localName = SessionHeader; namespaceName = }) using the handler registration public services (pub.soap.handler:registerWmConsumer, pub.soap.handler:unregisterConsumer).

For more details on how to implement custom header handlers please refer to the “6 About Handlers and Handler Services” chapter of the “Web Services Developer’s Guide”.

However you will find a working sample present here on our Tech Community code samples (WmWebServicesSamples.zip) search for it.

1 Like

I think we don’t understand each other.

I don’t need to register an Handler (I even don"t know what you say about when you say about Handler) .
I just want to create a web service descriptor consumer. But when I choose my wsdl file (after borowsing my desktop) the message is “[ISS.0092.9001] Server Error: java.lang.NullPointerException” and “[ISS.0085.9262] No registered handler for header qname”.

I don’t understand the Relationship with your suggestion.

Hmm, my suggestion was w.r.t to having custom handlers, but I got your query now let me try to create the same on my IS with the WSDL. I will update you with more details.

BTW, once you get this error or information, do you see the consumer WSD getting created? At the same time can you share the server logs please. I assume the message what you got it is just a information (one w.r.t to handlers) rather error.

OK you will understand :

I try to create a web service descriptor : the url is : https://soge.six-axe.fr/asteaalliance120_APP_frameworkSO_DEV/Astea.AO.API.asmx?wsdl

Obviously it do’sent work. I tried to modify it as the file in attachment (If I suceed , I could ask to the editor to modify is wsdl).
And I had the problem.

You can test it (juste try to create web service) with the url as wsdl and with the file as wsdl and you will have the same issue than me.

Astea.AO.API1.wsdl (74.4 KB)

I get different error than you [ISC.0081.9195] Invalid message part(s) defined in the wsdl: The header has a message part “SessionID” defined by the type “{http://www.astea.com/webservices/encodedTypes}SessionID”.

Can you try with the below IS extended setting
watt.server.SOAP.warnOnPartValidation=true

Also share your IS with fix levels. If you still have the issue with the above setting then we might have to review the WSDL and see what is the issue.

Im agree with this error you have (I had the same). I thought I have to fix the wsdl. But I can not do this because I am not the editor of the wsdl.
So before asking to the editor to modify the wsdl, I tried to modify it myself by downloaded the file (via Chrome for instance), fix it, save it and in my web service descriptor, instead of calling the url, I call the file I donwloaded. (in attachment)

PS : Where do we modify the parameter watt.server.SOAP.warnOnPartValidation=true
?

Best regards
Astea.AO.API1.wsdl (74.4 KB)

Did some tweaks and ended up with the below error: PFA WSDL file for your reference. Try to have the latest fix levels and increase the logging level to capture more data and contact SAG support.

[ISS.0092.9001] Server Error: [ISS.0092.9043] Schema Error: 1
pathName: null
errorCode: CONV-004
errorMessage: [ISC.0082.9104] SessionID {http://www.astea.com/webservices/encodedTypes} - unable to locate the root element
identifier: null
[ISS.0092.9043] Schema Error: 1
pathName: null
errorCode: CONV-004
errorMessage: [ISC.0082.9104] SessionID {http://www.astea.com/webservices/encodedTypes} - unable to locate the root element
identifier: null
[ISS.0092.9043] Schema Error: 1
pathName: null
errorCode: CONV-004
errorMessage: [ISC.0082.9104] SessionID {http://www.astea.com/webservices/encodedTypes} - unable to locate the root element
identifier: null
[ISS.0092.9043] Schema Error: 1
pathName: null
errorCode: CONV-004
errorMessage: [ISC.0082.9104] SessionID {http://www.astea.com/webservices/encodedTypes} - unable to locate the root element
identifier: null
[ISS.0092.9043] Schema Error: 1
pathName: null
errorCode: CONV-004
errorMessage: [ISC.0082.9104] SessionID {http://…
Astea.wsdl (56.8 KB)