request

node.js – My post request of todos1 is showing bad request?


can anyone tell me my post request for todos1 is showing bad request my app1 app is absolutely fine and my code is not showing any error on running node server but when i did run it in postman it is showing bad request 400 but sending right data to my database it means that my req.send function is wrong somewhere can anyone tell me where i am wrong???

const lodash=require('lodash');
var express=require('express');
var bodyparser=require('body-parser');
var mongoose=require('mongoose');
var {app1}=require('./todos');
var {ObjectId}=require('mongodb');

mongoose.Promise = global.Promise;
mongoose.connect('mongodb://localhost:27017/TodoApp');
var port=process.env.PORT || 3000;
var app=express();
app.use(bodyparser.json());

app.post('/todos',(req,res)=>
{
    var todo=new app1({
        text:req.body.text,
        email:req.body.email
    });
    todo.save().then((docs)=>
    {
        res.send(docs);
    },(err)=>
    {
        res.status(400).send(err);
    });
});

app.get('/todos',(req,res)=>
{
    app1.find().then((todos)=>{
        res.send({
            todos
        })
    },(err)=>
    {
        res.status(400).send(err);
    });
});

app.get('/todos/:id',(req,res)=>
{
    var id=req.params.id;
    if(!ObjectId.isValid(id))
    {  var text1='No id is found';
        res.status(404).send({text1});
    }

        app1.findById(id).then((todos)=>
        {
            if(todos)
            {
                res.send(todos);
            }
            else
            {
                res.status(404).send();
            }
        },(err)=>
        {
            res.status(400).send(err);
        });
});
app.patch('/todos/:id',(req,res)=>
{
    var id=req.params.id;
    var body=lodash.pick(req.body,['text','completed']);
    if(!ObjectId.isValid(id))
    {
        var text1="no id is found";
        return res.status(404).send({text1});
    }
    if(lodash.isBoolean(body.completed) && (body.completed))
    {
     body.completedBy=new Date().getTime();
    }
    else
    {
        body.completed=false;
        body.completedBy=null;
    }

    app1.findByIdAndUpdate(id,{$set:body},{new:true}).then((todos)=>
    {
        if(todos)
        {
            return res.send(todos);
        }
        else
        {
            res.status(404).send();
        }
    },(err)=>
    {
        res.status(400).send(err);
    });
});

app.delete('/todos/:id',(req,res)=>
{
    var id=req.params.id;
    if(!ObjectId.isValid(id))
    {
        var text1='No id is found';
        return res.status(404).send({text1});
    }
    app1.findByIdAndRemove(id).then((todos)=>
    {
        if(todos)
        {
            return res.send(todos);
        }
        else
        {
            res.status(404).send();
        }
    },(err)=>
    {
        res.status(400).send(err);
    });
    }
);
app.post('/todos1',(req,res)=>
{
    var body=lodash.pick(req.body,['email','password','text']);
    var user=new app1(body);
    user.save().then(()=>
    {
        return user.generateAuthToken();
        }).then((token)=>
        {
            res.header('x-auth',token).send(user);
        }).catch((e)=>
        {
            res.status(400).send(e);
        });
});

app.listen(port,()=>
{
    console.log(`Starting port ${port}`);
});

module.exports={app};



لینک منبع

node.js – NodeJS – Sending exact ExpressJS request again after stream has ended


I am very new to NodeJS and am stuck trying to “proxy” a request with some variances on what I have found online

What I am trying to do is proxy a request and then have that exact request sent again when I recieve a 202 status from the server. I only have one ExpressJS resource defined where I need to do this, so it isn’t really possible for me to remove the body parsers, therefore, the request stream will always have been read to end. I know (pretty sure) that I can specify a parser on the actual endpoint and all requests matching the parser will route according, but I can’t do that either because my resource has a wildcard in it’s path.

The wildcard is there because I need to route all of the requests that match this wildcard to a) another server, as is or b) an SQS queue. The SQS message is a JSON string representation of an object I build from the request, but not the actual request object. The a) scenario happens based on some header(s) being in the request. In other words, I have two options: queue or proxy to the server.

Here is the code for the proxy use case:

public async doSynchronousRequest(orgName: string, pluginId: string, req: any, resp: any): Promise<void> {
    const attempts: number = 15; 
    const url: string = <url to new server>;

    // We create a write stream here so that we can always reuse it by reading the file in again,
    // since we need to be able to send the request over and over.  This works for a GET, but anything
    // with a body will read to the end of the buffer and we won't be able to use it again.  Since NodeJS
    // is optimized for IO, this is perfectly acceptable and offers the benefit of much less memory consumption
    // as requests come in.  Also, with the OS caching, etc, this is probably negligible for the reads in the
    // retry loop.
    const filename: string = UtilsService.generateUUID();

    // ******* with body-parsers, the req is no longer readable *********
    req.pipe(fs.createWriteStream(filename));

    let syncResponse: http.IncomingMessage = null;
    try {
        syncResponse = await UtilsService.retry(() => {                     


        const reqStream = fs.createReadStream(filename);
            return new Promise((resolve, reject) => {

                // this would just be the stream, but I also want
                // the whole request as is, with the stream "reset"
                reqStream.pipe(request({uri: url}))
                    .on('response', (newResp: http.IncomingMessage) => {

                        newResp.on('end', () => {
                            reqStream.removeAllListeners();
                            reqStream.destroy();
                            newResp.removeAllListeners();
                        });

                        if (newResp.statusCode === 202) {                          
                            return reject("202 received.  Retrying ...");
                        }

                        return resolve(newResp);
                    });

            });
        }, attempts, 1000);
    }
    finally {
        // clean up the file
        fs.unlink(filename, (err) => {
            if(err) {
                return this.logging.trace(`Unable to cleanup synchronous request file: ${filename}: ${err}`);
            }
        });
    }

    if (syncResponse) {
        syncResponse.pipe(resp);
    }
}

The goal of this is to write the request to a file so that I can read it again for each iteration as a readable stream (reqStream). I’d also like to keep all of the original request (headers, query parameters, ssl info, etc). This happens (without the body parsers) for the initial req.pipe() above but not on future iterations.

Maybe there is a simpler (MUCH) way?

Thanks,
Brian



لینک منبع

xml – Call REST Request inside XSLT and copy only some elements


I am attempting to make a REST call inside my XSL that will incorporate only parts of the response into the original transformed XML doc. I found one example that talked about using variables and the document() function, but I can’t seem to get it to work.

Here is the original XML document:

<?xml version="1.0" encoding="UTF-8"?>
<PublishPELTEST xmlns="http://www.ibm.com/maximo" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
creationDateTime="2018-02-08T09:15:08-05:00" transLanguage="EN" 
baseLanguage="EN" messageID="1518099308834189587" maximoVersion="7 5 2 12" 
event="0">
  <PELTESTSet>
    <WORKORDER>
      <DESCRIPTION>My Workorder Description</DESCRIPTION>
      <WONUM>MWO-522</WONUM>
      <WOPRIORITY>3</WOPRIORITY>
      <WORKORDERID>2255202</WORKORDERID>
      <ASSIGNMENT>
        <LABORCODE>006325</LABORCODE>
      </ASSIGNMENT>
      <KUBROUNDENTRY>
        <KUBROUNDENTRYID>267433</KUBROUNDENTRYID>
        <LINEID>254735</LINEID>
        <OBSERVATION />
        <KUBROUNDLINE>
          <ASSETNUM>385691</ASSETNUM>
          <METERNAME>VLOPSTAT</METERNAME>
          <SEQUENCE>90</SEQUENCE>
          <ASSET>
            <ASSETID>388391</ASSETID>
            <DESCRIPTION>Asset Description</DESCRIPTION>
            <SERVICEADDRESS>
              <STREETADDRESS>1234 Kingston Pike</STREETADDRESS>
            </SERVICEADDRESS>
          </ASSET>
          <METER>
            <DOMAINID>VLOPSTAT</DOMAINID>
            <METERNAME>VLOPSTAT</METERNAME>
          </METER>
        </KUBROUNDLINE>
      </KUBROUNDENTRY>
      <KUBROUNDENTRY>
        <KUBROUNDENTRYID>267432</KUBROUNDENTRYID>
        <LINEID>254734</LINEID>
        <OBSERVATION />
        <KUBROUNDLINE>
          <ASSETNUM>385691</ASSETNUM>
          <METERNAME>GLEAKGRD</METERNAME>
          <SEQUENCE>80</SEQUENCE>
          <ASSET>
            <ASSETID>388391</ASSETID>
            <DESCRIPTION>Asset2 Description</DESCRIPTION>
            <SERVICEADDRESS>
              <STREETADDRESS>2345 Kingston Pike</STREETADDRESS>
            </SERVICEADDRESS>
          </ASSET>
          <METER>
            <DOMAINID>CASEGRDE</DOMAINID>
            <METERNAME>GLEAKGRD</METERNAME>
          </METER>
        </KUBROUNDLINE>
      </KUBROUNDENTRY>
    </WORKORDER>
  </PELTESTSet>
</PublishPELTEST>

This is the REST request and the result that is returned normally:
http://server.loc.org/maxrest/rest/mbo/alndomain/?domainid=’SKIPRSN’

<?xml version="1.0" encoding="UTF-8"?>
<ALNDOMAINMboSet rsStart="0" xmlns="http://www.ibm.com/maximo" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <ALNDOMAIN xmlns="http://www.ibm.com/maximo" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <DOMAINID>KUBSKIPRSN</DOMAINID>
        <VALUE>TRAFFIC</VALUE>
        <DESCRIPTION>Traffic Control Needed</DESCRIPTION>
        <ALNDOMAINID>4906</ALNDOMAINID>
        <VALUEID>KUBSKIPRSN|TRAFFIC</VALUEID>
    </ALNDOMAIN>
    <ALNDOMAIN xmlns="http://www.ibm.com/maximo" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <DOMAINID>KUBSKIPRSN</DOMAINID>
        <VALUE>NOT FOUND</VALUE>
        <DESCRIPTION>Asset Not Found</DESCRIPTION>
        <ALNDOMAINID>4006</ALNDOMAINID>
        <VALUEID>KUBSKIPRSN|NOT FOUND</VALUEID>
    </ALNDOMAIN>
    <ALNDOMAIN xmlns="http://www.ibm.com/maximo" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <DOMAINID>KUBSKIPRSN</DOMAINID>
        <VALUE>SKIP ALL</VALUE>
        <DESCRIPTION>Skip All</DESCRIPTION>
        <ALNDOMAINID>3802</ALNDOMAINID>
        <VALUEID>KUBSKIPRSN|SKIP ALL</VALUEID>
    </ALNDOMAIN>
</ALNDOMAINMboSet>

What I had read previously about this was that you had to add the namespace to your xsl. In this case, I believe the namespace is the same namespace as my origianl XML document. So, I guessed that no other references were necessary.??

With that assumption, I ran the XSL below and it does not pull back any information related to the REST request.

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:mea="http://www.ibm.com/maximo" exclude-result-prefixes="mea"
    version="1.0">
    <xsl:output method="xml" cdata-section-elements="" />

    <xsl:template match="/">
      <yyy:createJob xmlns:yyy="http://place.org/mmm/app">
        <job>
          <id />
          <origin>AMS</origin>
          <metaId>
            <xsl:value-of select="descendant::mea:WORKORDERID" />
          </metaId>
          <title>
            <xsl:value-of select="descendant::mea:DESCRIPTION" />
          </title>
          <dispatchGroup>FWSAMS</dispatchGroup>
          <priority>
            <xsl:value-of select="descendant::mea:WOPRIORITY" />
          </priority>
          <assignedTo>
            <xsl:value-of 
                select="descendant::mea:ASSIGNMENT/mea:LABORCODE" />
          </assignedTo>
          <jobDocument>
            <xsl:text disable-output-escaping="yes">&lt;![CDATA[</xsl:text>
              <root>
                <workorderNum>
                  <xsl:value-of select="descendant::mea:WONUM" />
                </workorderNum>
                <xsl:apply-templates mode="copy"
                      select="descendant::mea:KUBROUNDENTRY" />
                <skipReasonDomain>
                  <xsl:variable name="myDomain">
                    <xsl:text>SKIPRSN</xsl:text>
                  </xsl:variable>
                  <xsl:value-of 
 select="document(concat('http://server.loc.org/maxrest/rest/mbo/alndomain/?
 domainid=',$myDomain))/descendant::VALUE"/>
                </skipReasonDomain>
              </root>
              <xsl:text disable-output-escaping="yes">]]&gt;</xsl:text>
            </jobDocument>
            <completionDocument />
          </job>
        </yyy:createJob>
      </xsl:template>

    <xsl:template match="*" mode="copy">
    <xsl:element name="{local-name()}">
        <xsl:apply-templates select="node()" mode="copy" />
    </xsl:element>
    </xsl:template>

    <xsl:template match="text()|comment()" mode="copy">
      <xsl:copy/>
    </xsl:template>

</xsl:stylesheet>

This is the resulting XML document:

<yyy:createJob
xmlns:yyy="http://place.org/mmm/app">
<job>
    <id></id>
    <origin>AMS</origin>
    <metaId>2255202</metaId>
    <title>My Workorder Description</title>
    <dispatchGroup>FWSAMS</dispatchGroup>
    <priority>3</priority>
    <assignedTo>006325</assignedTo>
    <jobDocument>
        <![CDATA[<root><workorderNum>MWO-522</workorderNum><KUBROUNDENTRY><KUBROUNDENTRYID>267433</KUBROUNDENTRYID><LINEID>254735</LINEID><OBSERVATION/><KUBROUNDLINE><ASSETNUM>385691</ASSETNUM><METERNAME>VLOPSTAT</METERNAME><SEQUENCE>90</SEQUENCE><ASSET><ASSETID>388391</ASSETID><DESCRIPTION>Asset Description</DESCRIPTION><SERVICEADDRESS><STREETADDRESS>1234 Kingston Pike</STREETADDRESS></SERVICEADDRESS></ASSET><METER><DOMAINID>VLOPSTAT</DOMAINID><METERNAME>VLOPSTAT</METERNAME></METER></KUBROUNDLINE></KUBROUNDENTRY><KUBROUNDENTRY><KUBROUNDENTRYID>267432</KUBROUNDENTRYID><LINEID>254734</LINEID><OBSERVATION/><KUBROUNDLINE><ASSETNUM>385691</ASSETNUM><METERNAME>GLEAKGRD</METERNAME><SEQUENCE>80</SEQUENCE><ASSET><ASSETID>388391</ASSETID><DESCRIPTION>Asset2 Description</DESCRIPTION><SERVICEADDRESS><STREETADDRESS>2345 Kingston Pike</STREETADDRESS></SERVICEADDRESS></ASSET><METER><DOMAINID>CASEGRDE</DOMAINID><METERNAME>GLEAKGRD</METERNAME></METER></KUBROUNDLINE></KUBROUNDENTRY><skipReasonDomain/></root>]]>
    </jobDocument>
    <completionDocument></completionDocument>
</job>
</yyy:createJob>

My desired output would be:

<yyy:createJob
xmlns:yyy="http://place.org/mmm/app">
<job>
    <id></id>
    <origin>AMS</origin>
    <metaId>2255202</metaId>
    <title>My Workorder Description</title>
    <dispatchGroup>FWSAMS</dispatchGroup>
    <priority>3</priority>
    <assignedTo>006325</assignedTo>
    <jobDocument>
        <![CDATA[<root><workorderNum>MWO-522</workorderNum><KUBROUNDENTRY><KUBROUNDENTRYID>267433</KUBROUNDENTRYID><LINEID>254735</LINEID><OBSERVATION/><KUBROUNDLINE><ASSETNUM>385691</ASSETNUM><METERNAME>VLOPSTAT</METERNAME><SEQUENCE>90</SEQUENCE><ASSET><ASSETID>388391</ASSETID><DESCRIPTION>Asset Description</DESCRIPTION><SERVICEADDRESS><STREETADDRESS>1234 Kingston Pike</STREETADDRESS></SERVICEADDRESS></ASSET><METER><DOMAINID>VLOPSTAT</DOMAINID><METERNAME>VLOPSTAT</METERNAME></METER></KUBROUNDLINE></KUBROUNDENTRY><KUBROUNDENTRY><KUBROUNDENTRYID>267432</KUBROUNDENTRYID><LINEID>254734</LINEID><OBSERVATION/><KUBROUNDLINE><ASSETNUM>385691</ASSETNUM><METERNAME>GLEAKGRD</METERNAME><SEQUENCE>80</SEQUENCE><ASSET><ASSETID>388391</ASSETID><DESCRIPTION>Asset2 Description</DESCRIPTION><SERVICEADDRESS><STREETADDRESS>2345 Kingston Pike</STREETADDRESS></SERVICEADDRESS></ASSET><METER><DOMAINID>CASEGRDE</DOMAINID><METERNAME>GLEAKGRD</METERNAME></METER></KUBROUNDLINE></KUBROUNDENTRY><skipReasonDomain><VALUE>TRAFFIC</VALUE><VALUE>NOT FOUND</VALUE><VALUE>SKIP ALL</VALUE></root>]]>
    </jobDocument>
    <completionDocument></completionDocument>
</job>
</yyy:createJob>

I know this is a lot of information, but I hope it helps someone to understand what I am trying to do and how I might be able to get there. Any information is much appreciated.



لینک منبع

افزونه استعلام قیمت محصولات در ووکامرس YITH WooCommerce Request a Quote


امروزه فروشگاه های بسیاری در زمینه های مختلف در فضای اینترنت در حال فعایت می باشند که هرکدام سیاست کاری خود را پیش دارند. در برخی از فروشگاه ها قیمت هر محصول در کنار سبدخرید قرار گرفته است که کاربران می توانند مستقیما خرید را انجام دهند اما در برخی سایت ها حتما مشاهده کرده اید که جهت خرید محصولات فیزیکی و دیجیتالی نیاز به ارسال درخواست و استعلام قیمت جهت دریافت توضیحات کامل را دارید. بله برخی فروشگاه ها برای جذب مخاطبین خود و ایجاد فضای گفتگو جهت بازاریابی حرفه ای، گزینه استعلام و درخواست قیمت را می گذارند تا با مشتریان خود به صحبت بپردازند.

 

YITH WooCommerce Request a Quote نسخه ( Premium ) نام یک افزونه وردپرس است که مناسب فروشگاه های ووکامرس می باشد که با استفاده از آن به راحتی کامل می توانید گزینه ارسال نقل قول یا درخواست های سفارشی را ایجاد کنید تا کاربران با استفاده از آن برای محصول دلخواه خود یک نقل قول و درخواست ارسال کنند. این افزونه دارای ویژگی هایی مانند مخفی سازی قیمت، فیلترگذاری چندگانه، ایجاد گزینه های سفارشی کنار آیتم محصولات، ایجاد فایل PDF از درخواست های ارسالی، ارسال پاسخ با ایمیل و… می باشد.

 

افزونه استعلام قیمت محصولات در ووکامرس YITH WooCommerce Request a Quote

 

امکانات کلی افزونه استعلام قیمت YITH WooCommerce Request a Quote :

  • قابلیت دریافت اطلاعات (درخواست به همراه توضیحات) از کاربران
  • ساخت فایل PDF از درخواست های دریافت شده
  • ارسال پاسخ ها و ادامه گفتگو توسط ایمیل
  • قابلیت دانلود فایل های PDF درخواست ها
  • قابلیت ایجاد گزینه های نقل قول نامحدود
  • سفارشی سازی کامل فیلدها و گزینه ها
  • قابلیت مخفی سازی قیمت محصولات
  • ساخت گزینه ها و فیلدهای پیشفرض
  • فیلترگذاری چندگانه محصولات
  • فیلترگذاری کاربران
  • و…

به کانال تلگرام بیست اسکریپت بپیوندید !

دانلود نسخه : ۱٫۹٫۳

به صفحه اول گوگل بياييد – قوی ترين بک لينک در ايران

بک لينک در بيش از ۲۰ هزار وبلاگ با دهها نمونه كار

نحوه استفاده

کافیست افزونه را در مسیر wp-content/plugins آپلود کنید و سپس از بخش مدیریت افزونه ها آن را فعال نمایید.

مطلب مفیدی بود ؟



لینک منبع

angularjs – Http Post request is not getting successful in angular js(1.5)


I am working on HTTP post request in angular JS (1.5).

First I pass request data to factory method. Call the Http post request and send the response back to controller. But I always get the below error:

Failed to load resource: the server responded with a status of 404 (Not Found)

Below is my controller code:

app.controller("logicCtrl",['$scope','getDestinationService','getVehicleService','getTokenService','getResultService','$http', 
            function($scope, getDestinationService,getVehicleService,getTokenService,getResultService,$http){

        $scope.getResult = function(){

        var resultPromise = getResultService.getFinalResult($scope.request_data);

         resultPromise.then(function(result){
                $scope.result = result.data;
                console.log("result:"+$scope.result);
        });
      }
    });

And this is my factory method:

app.factory("getResultService",['$http','$q',function($http, $q){
    var getResultApi = "https://findfalcone.herokuapp.com/find";
    var headers = {'Accept' : 'application/json'};

    var getFinalResult = function(request_data){
        var deferred = $q.defer();
        var request_data = JSON.stringify(request_data);
        return $http({
        url: getResultApi,
        method: "POST",
        data: request_data,
        headers: {'Accept' : 'application/x-www-form-urlencoded'}
        }).then(function (response) {
             if (typeof response.data === 'object') {
                  deferred.resolve(response.data);
              } else {
                  deferred.reject(response.data);
              }
        }).catch(function(response) {
              return deferred.reject(response.data);
        });
        return deferred.promise;
    }; 
    return { getFinalResult: getFinalResult };

}]);



لینک منبع

javascript – How to set a timeout on a request with Apollo-Client


I have a React-Native app where I make requests to a GraphQL server. Everything works fine except I need a way to set the timeout on the request/client to 5 or 10 seconds. Currently the request takes a very long time before it times out (around 1 minute).

Here’s a quick example of how I use the client.

const client = new ApolloClient({
  networkInterface: createNetworkInterface({
    uri: `${config.server_hostname}/graphql`
  })
});

client.query({ query: gqlString });

I have been unable to find any solution through StackOverflow, google search or Apollo’s documentation.



لینک منبع

python – request parameter cannot be gotten


request parameter cannot be gotten.I wanna search whether “file ” is in request parameter or not.I wrote

def common_logic(request):
    data = request.POST.get('data', None)

    if 'file' in request.POST:
        file = request.FILES['file'].temporary_file_path()
    else:
        file = None
    return file

but when I set file parameter,always else statement is read.When I print out print(request.POST), <QueryDict: {'data': ['100']}> is shown so file parameter cannot be gotten.I wanna get file parameter and search whether request.POST has file or not.Why can’t I get file parameter?How can I get this?



لینک منبع

html – Simulating HTTP Request


Im calling a Java App that is called like “http://localhost:32567?test=aaa” trying to send a a text response to a browser that connects. Response I send is like

HTTP/1.1 200 OK
Content-Type: text/xml
Cache-Control: no-cache
Date: Thu Nov 02 15:56:26 NZDT 2017

<?xml version="1.0" ?><root><message>hello world</message><status>OK</status></root>

When I open the page in browser it works fine and but when I call it using AJAX as Post request the HTTP status returned is 0?



لینک منبع

Heroku request data mixup using node.js


I am having a strange issue with node.js on Heroku.
I am using 2 node.js dynos and 1 redis dyno.
The issue is strange because I cannot be reproduce with certainty.

Request data (params) in different requests are mixing up, so the response of one request gives response with data from another request.
For example:

I have request with format:

R1 = server_url/path?rand=RANDOM_STRING&name=NAME1&address=ADD1 (for request 1)

R2 = server_url/path?rand=RANDOM_STRING&name=NAME2&address=ADD2 (for request 2)

Note: R1 and R2 are used for naming

What actually happens sometimes is: R1 request params (name=NAME1 and address=ADD1) are replaced by those of R2 request params (name=NAME2 and address=ADD2).

It is not sure when this happens i.e its random.

Average and max memory use seems to be within limit, but there are errors of “Request timeout”.



لینک منبع

Quickbooks Process Request error = 80042500, There was an error when parsing the provided XML file


Looking at the XML Validator tool I get the following response from trying to import my qbpos xml query into Quickbooks Enterprise.

Requested validation for QB POS (qbposxml), file has processing instruction indicating
Reason: The element ‘QBPOSXML’ is used but not declared in the DTD/Schema.
Here is the start to the xml file, can anyone shine some light into what the problem is here? Using qbposfc3 for the AppendPurchaseOrderQueryRq() to create the xml response in C#.

<?xml version="1.0" encoding="windows-1252"?>
<QBPOSXML>
  <QBPOSXMLMsgsRs>
    <PurchaseOrderQueryRs requestID="0" retCount="18" statusCode="0" statusMessage="Status OK" statusSeverity="Info">
      <PurchaseOrderRet>



لینک منبع