cppgraphqlgen | C++ GraphQL schema service generator | GraphQL library
kandi X-RAY | cppgraphqlgen Summary
Support
Quality
Security
License
Reuse
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample Here
cppgraphqlgen Key Features
cppgraphqlgen Examples and Code Snippets
Trending Discussions on Web Services
Trending Discussions on Web Services
QUESTION
I am currently trying to create a web service application using Visual Studio 2022 ASP.NET Webforms application with a service reference. The goal is to take in information and store it as a text file on the local machine within the project folder so it is accessible by the web service on my local server.
I have successfully created the text files and can access them on my local machine, but when I navigate to the text file on my local server tree I get an HTTP Error 404.0 which is shown below. I need any user who accesses my server to be able to access the saved text files. I have tried to change security privileges on the folder and in my web.config
file, but have not had any luck. I would appreciate any suggestions someone may have.
Here is my code for where I save the information as a text file.
// Randomly generate string for text file name
var chars = "abcdefghijklmnopqrstuvwxyz0123456789";
var textFile = new char[4];
var random = new Random();
for (int i = 0; i < textFile.Length; i++)
{
textFile[i] = chars[random.Next(chars.Length)];
}
eventFile = "\\";
eventFile += new String(textFile);
eventFile += ".txt";
folderPath = Server.MapPath("~/Events");
File.WriteAllText(folderPath + eventFile, fullEventDetails);
Both my URL and local file path are the following:
- URL
https://localhost:44399/sx1l.txt
- Path Name
\\Mac\Home\Desktop\Homework3\Homework3\sx1l.txt
ANSWER
Answered 2022-Apr-03 at 20:04Ok, so you have to keep in mind how file mapping works with IIS.
Your code behind:
that is plane jane .net code. For the most part, any code, any file operations using full qualified windows path names. It like writing desktop software. For the most part, that means code behind can grab/use/look at any file on your computer.
However, in practice when you use a full blown web server running ISS (which you not really doing during development with VS and IIS express)? Often, for reasons of security, then ONLY files in the wwwroot folder is given permissions to the web server.
However, you working on your development computer - you are in a effect a super user, and you (and more important) your code thus as a result can read/write and grab and use ANY file on your computer.
So, keep above VERY clear in your mind:
Code behind = plane jane windows file operations.
Then we have requests from the web side of things (from a web page, or a URL you type into the web browser.
In that case, files are ONLY EVER mapped to the root of your project, and then sub folders.
So, you could up-load a file, and then with code behind save the file to ANY location on your computer.
However, web based file (urls) are ONLY ever mapped though the web site.
So, in effect, you have to consider your VS web project the root folder. And if you published to a real web server, that would be the case.
So, if you have the project folder, you can add a sub folder to that project.
Say, we add a folder called UpLoadFiles. (and make sure you use VS to add that folder). So we right click on the project and choose add->
So, you right click on the base project and add, like this:
So, that will simple create a sub folder in your project, you see it like this:
So, the folder MUST be in the root, or at the very least start in the root or base folder your project is.
So, for above, then with UpLoadFiles, then any WEB based path name (url) will be this:
https://localhost:44399/UpLoadFiles/sx1l.txt
(assuming we put the file in folder UpLoadFiles).
But, if you want to write code to touch/use/read/save and work with that file?
You need to translate the above url into that plane jane windows path name. (for ANY code behind).
So, if I want to in code read that file name?
Then I would use Server.MapPath() to translate this url.
say somthing like this:
string strFileName = "sx1l.txt";
string strFolderName = "UpLoadFiles"
string strInternaleFileName = server.MapPath(@"~/" + strFolderNme + @"/" + sx1l.txt";
// ok, so now we have the plane jane windows file name. It will resolve to something like say this:
C:\Users\AlbertKallal\source\repos\MyCalendar\UpLoadFiles\sx1l.txt
I mean I don't really care, but that web server code could be running on some server and that path name could be even more ugly then above - but me the developer don't care.
but, from a web browser and web server point of view (URL), then above would look like this:
https://localhost:44392/UpLoadFiles/sx1l.txt
And in markup, I could drop in say a hyper link such as:
So, keep CRYSTAL clear in your mind with working with path names.
Web based URL, or markup = relative path name, ONLY root or sub folders allowed
code behind: ALWAYS will use a plane jane full windows standard file and path.
But, what about the case where you have big huge network attached storage computer - say will a boatload of PDF safety documents, or a catalog of part pictures?
Well, then you can adopt and use what we call a "virtual" folder. They are pain to setup in IIS express, but REALLY easy to setup if you using IIS to setup and run the final server where you going to publish the site to.
Suffice to say, a virtual folder allows you to map a EXTERNAL folder into the root path name of your side.
So, you might have say a big server with a large number of PDF docuemnts,
say on
\\corporate-server1\PDF\Documents
so, in IIS, you can add the above path name, say as a folder called PDF.
Say like this:
So, WHEN you do the above, then the folder will appear like any plane jane folder in the root of the project, but the file paths can and will be on a complete different location OUTSIDE of the wwwroot folder for the web site.
So, now that we have the above all clear?
\\Mac\Home\Desktop\Homework3\Homework3\sx1l.txt
But, your code has this:
folderPath = Server.MapPath("~/Events");
File.WriteAllText(folderPath + eventFile, fullEventDetails);
(you missing the trailing "/" in above, you need this:
File.WriteAllText(folderPath + @"/" + eventFile, fullEventDetails);
So, that means the url for the text file will then be:
https://localhost:44399/Events/sx1l.txt
And if you using Visual Studio to add files to that folder (add->existing items), then MAKE SURE you Build->rebuild all (else the file will not be included in the debug run + launching of IIS express.
So, given that you saving into a folder called Events (as sub folder of wwwroot, or your base folder for hte web site, then the above is the url you should use, but your code always was missing that "/" between folder and file name.
QUESTION
I'm attempting to consume a SOAP Webservice using a WCF Web Service Reference.
I have been able to successfully consume the SOAP web service in a .NET 4.8 framework project using the System.Web.Servicees Web Service Reference. However I need to consume the web service in a .NET Core project. The WCF generated class from the WSDL is different than the .NET framework web service. It seems like you now have to use the generated WebServiceClient to interact with the web service.
I believe the web service requires basic authentication as I was able to authenticate using basic authentication in the .NET framework project.
Here is the error message I'm getting when I try to execute one of the web service's methods.
System.ServiceModel.Security.MessageSecurityException
HResult=0x80131500
Message=The HTTP request is unauthorized with client authentication scheme 'Anonymous'. The authentication header received from the server was ''.
Source=System.Private.ServiceModel
Here is my code which instantiates the client and calls the method
var callContext = new CAdxCallContext();
callContext.codeLang = "ENG";
callContext.poolAlias = "BGRTEST";
callContext.requestConfig = "adxwss.trace.on=on&adxwss.trace.size=16384&adonix.trace.on=on&adonix.trace.level=3&adonix.trace.size=8";
var proxy = new CAdxWebServiceXmlCCClient();
proxy.ClientCredentials.UserName.UserName = "username";
proxy.ClientCredentials.UserName.Password = "password";
string _InputXml = "" +
"" +
"" + 100001 + "" +
"" +
"";
try
{
var response = proxy.run(callContext, "BGR_SIEPRO", _InputXml);
}
finally
{
proxy.Close();
}
My WCF service connection: WCF Connected Service Screenshot
The Auto-generated WCF WebServiceClient: https://github.com/abiddle-bgr/Test/blob/main/CAdxWebServiceXmlCCClient.cs
ANSWER
Answered 2022-Mar-10 at 07:30Did you set secure transfer mode? similar to this: Basic Authentication in WCF client.
In the code, set the proxy class to allow impersonation
proxy.ClientCredentials.Windows.AllowedImpersonationLevel =
System.Security.Principal.TokenImpersonationLevel.Impersonation;
You can look at this post.
QUESTION
I have the following controller class for my web service. I am trying to add authentication to it using SoapHeader. The system is using .NET 4.0. My code looks like:
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Web;
using System.Web.Script.Services;
using System.Web.Services;
using System.IO;
using System.Web.Services.Protocols;
public class AuthHeader : System.Web.Services.Protocols.SoapHeader
{
public string username { get; set; }
public string password { get; set; }
public bool IsValid()
{
return this.username == "admin" && this.password == "admin";
}
}
[WebService(Namespace = "http://tempuri.org")]
[WebServiceBinding(ConformsTo = WsiProfiles.None)]
[ScriptService]
public class FormController: System.Web.Services.WebService
{
public AuthHeader auth;
[WebMethod]
[SoapHeader ("auth")]
public string GetFormTypes()
{
if (auth != null)
{
if (auth.IsValid()) {
var obj = SQLQueries.ParseQuery(false, "select * from form");
Debug.WriteLine(obj);
obj.WriteToResponse();
return "Successfully authenticated";
}
else {
var res = "Invalid credentials";
return res;
}
}
else
{
var res = "Error in authentication";
return res;
}
}
}
I am testing it using postman tool. My payload body looks like:
admin
admin
All examples that I checked online including Microsoft's official docs do it in a similar way yet my code does not work. When I send the request, the value of soap header auth
is always null.
What am I doing wrong ?
ANSWER
Answered 2022-Mar-09 at 01:34NOTE: I used your code no change at all in the flow of the application. Run the code in your local machine. click on the web method, copy the url and paste it in postman.
I tried creating the service based on you code and it is working fine in postman below is the screenshot and the code
try passing the below xml request to the body as shown in the diagram in postman. Also, please make sure Content-Type is set to text/XML in Header Section in Postman.
admin
admin
QUESTION
I have two backend web servers, and i need to monitor them using httpcheck by checking the URL and looking for a string to be present in the response of the request. if the string is not available switch the backend to another server.
Status:
- Server1 - Active
- Server2 - Backup
Configuration Details:
- Health Check Method : HTTP
- HTTP Check Method : GET
- Url used by http check requests:
/jsonp/FreeForm&maxrecords=10&format=XML&ff=223
- Http check version : HTTP/1.0\r\nAccept:\ XS01
Result of the http Request is
{"d":{"__type":"Response","Version":"4.5.23.1160","ResultCode":"XS01","ErrorString":"","Results":[{"__type":"Result",
so, I am expecting the string ResultCode":"XS01"
in the response from the server, if the string found the server1 is up, if not bring the Server2 from the backup.
how can i achieve this in HAProxy Backend Health Check?
ANSWER
Answered 2022-Mar-02 at 18:12This can be done under Advanced Settings--> Backend Pass thru using the expect string,
http-check expect string XS01
QUESTION
I am trying to post an attachement to JIRA but getting a 404 http error .
I did post some comments before and it's working fine.
MY Code below
string jsmlogin = "****";
string jsmpass = "****";
string _auth = string.Format("{0}:{1}", jsmlogin, jsmpass);
string _enc = Convert.ToBase64String(Encoding.ASCII.GetBytes(_auth));
string _cred = string.Format("{0} {1}", "Basic", _enc);
string projKey = "DESK-1993";
string postUrl = "https://******/rest/servicedeskapi/request/" + projKey + "/attachments";
string jsmproxy = "http://********";
var clientHandler = new HttpClientHandler();
clientHandler.Proxy = new WebProxy(jsmproxy, true);
HttpClient client = new HttpClient(clientHandler);
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", _enc);
client.DefaultRequestHeaders.Add("X-Atlassian-Token", "nocheck");
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
MultipartFormDataContent content = new MultipartFormDataContent();
HttpContent fileContent = new ByteArrayContent(File.ReadAllBytes("z.txt.txt"));
content.Add(fileContent, "file","z");
var response = client.PostAsync(postUrl, content).Result;
ANSWER
Answered 2022-Mar-01 at 14:56I think you get a 404 cos the url is not correctly formed...
The url for the POST should look like
http(s)://{base-url}/rest/api/{apiVersion or latest}/issue/{issue-key}/attachments
for me your /request/ part looks weird and should be issue
here the doc: https://docs.atlassian.com/software/jira/docs/api/REST/8.22.0/#issue/{issueIdOrKey}/attachments-addAttachment
QUESTION
When I use simplexml_load_file from a webservice, it returns
But, I cannot parse it as XML to get the attributes. I need it to be formatted as such:
and then this code works:
$xml_string = simplexml_load_string($xmlresponse);
foreach ($xml_string->licensee[0]->attributes() as $a => $b) {
echo $a , '=' , $b;
}
I tried str_replace and decoding, without success.
ANSWER
Answered 2022-Feb-19 at 11:32Since the XML you want seem to be stored as htmlentities, your first simplexml_load_string()
won't read it as XML. If you take that string and run that through simplexml_load_string()
as well then you'll get it as XML:
$xml_string = simplexml_load_string($xmlresponse);
$licensees = simplexml_load_string($xml_string);
var_dump($licensees);
Output:
object(SimpleXMLElement)#2 (1) {
["licensee"]=>
object(SimpleXMLElement)#3 (1) {
["@attributes"]=>
array(10) {
["valid"]=>
string(4) "true"
["State"]=>
string(2) "FL"
["licensee_profession"]=>
string(2) "RN"
["licensee_number"]=>
string(7) "2676612"
["state_license_format"]=>
string(0) ""
["first_name"]=>
string(5) "HENRY"
["last_name"]=>
string(6) "GEITER"
["ErrorCode"]=>
string(0) ""
["Message"]=>
string(0) ""
["TimeStamp"]=>
string(21) "2/19/2022 4:53:35 AM"
}
}
}
Here's a demo: https://3v4l.org/da3Up
QUESTION
I am trying to take an XML string returned from a call to CEBroker WebServices such as:
And parse the string to obtain the values of the attributes as they will always be the same, and there will be only one licensee per string. The XML string is returned in $xmlresponse, and when I print it out using print_r it is correct, but when I try to parse, I always get nothing.
I tried
$xml_string = simplexml_load_string($xmlresponse);
print_r ("this is my xml after going through simplexml_load_string" . $xml_string);
//The above line prints nothing for $xml_string;
$json = json_encode($xml_string);
print_r($json);
$array = json_decode($json,TRUE);
echo "Array contents are as follows
";
print_r($array);
var_dump ($array);
echo "Array contents ended!
";
I am new to XML and just need to know how to parse nodes and, in this case attributes, for returned XML data or XML files.
Thanks
ANSWER
Answered 2022-Feb-19 at 03:27If I understand your question correctly, try the following, which assumes a response with two licensees:
$xmlresponse = '
';
$xml_string = simplexml_load_string($xmlresponse);
$licensees = $xml_string->xpath("//licensee");
foreach ($licensees as $licensee) {
foreach ($licensee ->xpath('./@*') as $attribute){
echo $attribute." ";
}
echo "\n";
}
Output:
true FL RN 2676612 HENRY GEITER 2/18/2022 6:43:20 PM
false NY DC 1234 JOHN DOE 1/1/2023 6:43:20 PM
Output
QUESTION
One of the API calling from outside company to our use the parameter name "ref". They asking us to create the web api which accept this parameter. We are writing in C# Web Api and "ref" is a keyword and wont able to do that. Any work around?
https://xxxxxxxxx/xxx/xxx/xxxxx/?ref=1234
ANSWER
Answered 2022-Jan-22 at 13:36You can accept ref
as a parameter using@
symbol in front of your field:
public JsonResult MyMethod(string @ref)
You can read more here
QUESTION
I have implemented a rest Query as shown below:
@Path("list")
@GET
public List getTodos(@Context UriInfo uriInfo){
MultivaluedMap queryParameters = uriInfo.getQueryParameters();
List parameterList = queryParameters.get(assignee.name); //Output -> name1,name2 parameterList -- size -1
String parameter = queryParameters.getFirst(assignee.name); //Output -> name1,name2
.
.
.
}
How do I handle when multiple parameters
http://localhost:9090/hello-todo/api/v1/todo/list?assignee.name={name1,name2}
Here instead of two strings, I am getting it as one single string. How should I handle it, should I split the parameter String by comma (,).?
When
Currently it is able to handle these endpoints. The Rest URL's are
http://localhost:9090/hello-todo/api/v1/todo/list
http://localhost:9090/hello-todo/api/v1/todo/list?status=CRITICAL
http://localhost:9090/hello-todo/api/v1/todo/list?status=MAJOR
http://localhost:9090/hello-todo/api/v1/todo/list?status={criticality}&todo.completion.status=completed
http://localhost:9090/hello-todo/api/v1/todo/list?status={criticality}&todo.completion.status=completed&todo.title={title}
http://localhost:9090/hello-todo/api/v1/todo/list?status={criticality}&todo.completion.status=completed&todo.title={title}&todo.startDate={startDate}
ANSWER
Answered 2022-Jan-20 at 21:47If you want queryParameters.get(assignee.name);
to return a list, you can include the parameter more than once in the URL
http://localhost:9090/hello-todo/api/v1/todo/list?assignee.name=name1&assignee.name=name2
Or you can continue to have a single parameter (list?assignee.name=name1,name2
) and split on ,
, but you have to write the code to do that, and consider what to do when one of your names has a ,
character in it.
QUESTION
I am calling an XML webservice. I am using the following function:
[System.ServiceModel.OperationContractAttribute(Action="http://onlinetools.ups.com/webservices/ShipBinding/v1.0", ReplyAction="*")]
[System.ServiceModel.FaultContractAttribute(typeof(UPS.ShipServiceReference.ErrorDetailType[]), Action="http://onlinetools.ups.com/webservices/ShipBinding/v1.0", Name="Errors", Namespace="http://www.ups.com/XMLSchema/XOLTWS/Error/v1.1")]
[System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(ShipmentServiceOptionsType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(CompanyInfoType))]
System.Threading.Tasks.Task ProcessShipmentAsync(UPS.ShipServiceReference.ShipmentRequest1 request);
When there is nothing wrong with the request i have sent the result happily returns a "ShipmentResponse1"
But if there is something wrong with the request I cannot work out how to get to the error details as shown here in Fiddler:
I have wrapped my code in a basic try/catch (Exception ex) but the ex only contains the "faultstring".
I'd like to be able to get to the "PrimaryErrorCode Code and Description" but cannot work out how to do it.
Any help would be greatly appreciated
ANSWER
Answered 2022-Jan-10 at 16:44The ProcessShipmentAsync
method is decorated with a FaultContractAttribute
, which specifies the type of the error details, here : UPS.ShipServiceReference.ErrorDetailType[]
.
[System.ServiceModel.FaultContractAttribute(
typeof(UPS.ShipServiceReference.ErrorDetailType[]),
Action="http://onlinetools.ups.com/webservices/ShipBinding/v1.0",
Name="Errors", Namespace="http://www.ups.com/XMLSchema/XOLTWS/Error/v1.1"
)]
To access these in case of an error, you have to catch a FaultException
, where T is that UPS.ShipServiceReference.ErrorDetailType[]
type.
The detailed info is available on the Details
property of that exception.
catch (FaultException ex)
{
// Access ex.Details.
}
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install cppgraphqlgen
Microsoft Windows: Visual Studio 2019
Linux: Ubuntu 20.04 LTS with gcc 10.3.0
macOS: 11 (Big Sur) with AppleClang 13.0.0.
Support
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesExplore Kits - Develop, implement, customize Projects, Custom Functions and Applications with kandi kits
Save this library and start creating your kit
Share this Page