Get value from SOAP Message using Xpath












2














I'm trying to get a value from from the following SOAP Message, but maybe my syntax on XPath is not good



XPath I'm using:



/soap:Body/n0:RequestSystemGuidResponse/SystemGuid


Error:




Error processing xml. Namespace
prefix 'n0' is not defined.




SOAP XML:



<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
<soap-env:Header></soap-env:Header>
<soap-env:Body>
<n0:RequestSystemGuidResponse
xmlns:n0="urn:sap-com:document:sap:soap:functions:mc-style">
<Errors></Errors>
<SystemGuid>E050831C9CA1D1F1A9FC005056B95649</SystemGuid>
</n0:RequestSystemGuidResponse>
</soap-env:Body>
</soap-env:Envelope>









share|improve this question
























  • Do you have some code?
    – powder366
    Apr 7 '17 at 12:43
















2














I'm trying to get a value from from the following SOAP Message, but maybe my syntax on XPath is not good



XPath I'm using:



/soap:Body/n0:RequestSystemGuidResponse/SystemGuid


Error:




Error processing xml. Namespace
prefix 'n0' is not defined.




SOAP XML:



<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
<soap-env:Header></soap-env:Header>
<soap-env:Body>
<n0:RequestSystemGuidResponse
xmlns:n0="urn:sap-com:document:sap:soap:functions:mc-style">
<Errors></Errors>
<SystemGuid>E050831C9CA1D1F1A9FC005056B95649</SystemGuid>
</n0:RequestSystemGuidResponse>
</soap-env:Body>
</soap-env:Envelope>









share|improve this question
























  • Do you have some code?
    – powder366
    Apr 7 '17 at 12:43














2












2








2







I'm trying to get a value from from the following SOAP Message, but maybe my syntax on XPath is not good



XPath I'm using:



/soap:Body/n0:RequestSystemGuidResponse/SystemGuid


Error:




Error processing xml. Namespace
prefix 'n0' is not defined.




SOAP XML:



<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
<soap-env:Header></soap-env:Header>
<soap-env:Body>
<n0:RequestSystemGuidResponse
xmlns:n0="urn:sap-com:document:sap:soap:functions:mc-style">
<Errors></Errors>
<SystemGuid>E050831C9CA1D1F1A9FC005056B95649</SystemGuid>
</n0:RequestSystemGuidResponse>
</soap-env:Body>
</soap-env:Envelope>









share|improve this question















I'm trying to get a value from from the following SOAP Message, but maybe my syntax on XPath is not good



XPath I'm using:



/soap:Body/n0:RequestSystemGuidResponse/SystemGuid


Error:




Error processing xml. Namespace
prefix 'n0' is not defined.




SOAP XML:



<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
<soap-env:Header></soap-env:Header>
<soap-env:Body>
<n0:RequestSystemGuidResponse
xmlns:n0="urn:sap-com:document:sap:soap:functions:mc-style">
<Errors></Errors>
<SystemGuid>E050831C9CA1D1F1A9FC005056B95649</SystemGuid>
</n0:RequestSystemGuidResponse>
</soap-env:Body>
</soap-env:Envelope>






soap xpath






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 12 at 20:10









Chris Akridge

59310




59310










asked Mar 22 '11 at 11:50









user671107

11112




11112












  • Do you have some code?
    – powder366
    Apr 7 '17 at 12:43


















  • Do you have some code?
    – powder366
    Apr 7 '17 at 12:43
















Do you have some code?
– powder366
Apr 7 '17 at 12:43




Do you have some code?
– powder366
Apr 7 '17 at 12:43












1 Answer
1






active

oldest

votes


















5














You haven't declared the namespace prefix 'n0' to the environment that's evaluating your XPath expression.
Namespace declarations used in XPath need to be declared in the environment in which XPath is used.



If you need help on how to do that, tell us how you're using XPath. Are you passing "/soap:Body/n0:RequestSystemGuidResponse/SystemGuid" to a particular method on a particular class? in what library? what language? You need to tell it that the "n0" prefix stands for the namespace whose URI is "urn:sap-com:document:sap:soap:functions:mc-style".



Apparently you've already declared the namespace prefix "soap", or else you would be getting an error about that too.



Also, once you get that fixed, your XPath expression will need to be modified, because right now it will only work if is the top-level element in your input XML.
Instead of



/soap:Body/n0:RequestSystemGuidResponse/SystemGuid


you need



/*/soap:Body/n0:RequestSystemGuidResponse/SystemGuid


(assuming that the soap prefix is declared for the namespace whose URI is "http://schemas.xmlsoap.org/soap/envelope/").






share|improve this answer





















    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f5390723%2fget-value-from-soap-message-using-xpath%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    5














    You haven't declared the namespace prefix 'n0' to the environment that's evaluating your XPath expression.
    Namespace declarations used in XPath need to be declared in the environment in which XPath is used.



    If you need help on how to do that, tell us how you're using XPath. Are you passing "/soap:Body/n0:RequestSystemGuidResponse/SystemGuid" to a particular method on a particular class? in what library? what language? You need to tell it that the "n0" prefix stands for the namespace whose URI is "urn:sap-com:document:sap:soap:functions:mc-style".



    Apparently you've already declared the namespace prefix "soap", or else you would be getting an error about that too.



    Also, once you get that fixed, your XPath expression will need to be modified, because right now it will only work if is the top-level element in your input XML.
    Instead of



    /soap:Body/n0:RequestSystemGuidResponse/SystemGuid


    you need



    /*/soap:Body/n0:RequestSystemGuidResponse/SystemGuid


    (assuming that the soap prefix is declared for the namespace whose URI is "http://schemas.xmlsoap.org/soap/envelope/").






    share|improve this answer


























      5














      You haven't declared the namespace prefix 'n0' to the environment that's evaluating your XPath expression.
      Namespace declarations used in XPath need to be declared in the environment in which XPath is used.



      If you need help on how to do that, tell us how you're using XPath. Are you passing "/soap:Body/n0:RequestSystemGuidResponse/SystemGuid" to a particular method on a particular class? in what library? what language? You need to tell it that the "n0" prefix stands for the namespace whose URI is "urn:sap-com:document:sap:soap:functions:mc-style".



      Apparently you've already declared the namespace prefix "soap", or else you would be getting an error about that too.



      Also, once you get that fixed, your XPath expression will need to be modified, because right now it will only work if is the top-level element in your input XML.
      Instead of



      /soap:Body/n0:RequestSystemGuidResponse/SystemGuid


      you need



      /*/soap:Body/n0:RequestSystemGuidResponse/SystemGuid


      (assuming that the soap prefix is declared for the namespace whose URI is "http://schemas.xmlsoap.org/soap/envelope/").






      share|improve this answer
























        5












        5








        5






        You haven't declared the namespace prefix 'n0' to the environment that's evaluating your XPath expression.
        Namespace declarations used in XPath need to be declared in the environment in which XPath is used.



        If you need help on how to do that, tell us how you're using XPath. Are you passing "/soap:Body/n0:RequestSystemGuidResponse/SystemGuid" to a particular method on a particular class? in what library? what language? You need to tell it that the "n0" prefix stands for the namespace whose URI is "urn:sap-com:document:sap:soap:functions:mc-style".



        Apparently you've already declared the namespace prefix "soap", or else you would be getting an error about that too.



        Also, once you get that fixed, your XPath expression will need to be modified, because right now it will only work if is the top-level element in your input XML.
        Instead of



        /soap:Body/n0:RequestSystemGuidResponse/SystemGuid


        you need



        /*/soap:Body/n0:RequestSystemGuidResponse/SystemGuid


        (assuming that the soap prefix is declared for the namespace whose URI is "http://schemas.xmlsoap.org/soap/envelope/").






        share|improve this answer












        You haven't declared the namespace prefix 'n0' to the environment that's evaluating your XPath expression.
        Namespace declarations used in XPath need to be declared in the environment in which XPath is used.



        If you need help on how to do that, tell us how you're using XPath. Are you passing "/soap:Body/n0:RequestSystemGuidResponse/SystemGuid" to a particular method on a particular class? in what library? what language? You need to tell it that the "n0" prefix stands for the namespace whose URI is "urn:sap-com:document:sap:soap:functions:mc-style".



        Apparently you've already declared the namespace prefix "soap", or else you would be getting an error about that too.



        Also, once you get that fixed, your XPath expression will need to be modified, because right now it will only work if is the top-level element in your input XML.
        Instead of



        /soap:Body/n0:RequestSystemGuidResponse/SystemGuid


        you need



        /*/soap:Body/n0:RequestSystemGuidResponse/SystemGuid


        (assuming that the soap prefix is declared for the namespace whose URI is "http://schemas.xmlsoap.org/soap/envelope/").







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Mar 22 '11 at 14:34









        LarsH

        21k557114




        21k557114






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.





            Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


            Please pay close attention to the following guidance:


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f5390723%2fget-value-from-soap-message-using-xpath%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Bressuire

            Vorschmack

            Quarantine